@tpsdev-ai/cli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/tps.js +154 -7
- package/dist/bin/tps.js.map +1 -1
- package/dist/src/commands/backup.d.ts +19 -0
- package/dist/src/commands/backup.d.ts.map +1 -0
- package/dist/src/commands/backup.js +595 -0
- package/dist/src/commands/backup.js.map +1 -0
- package/dist/src/commands/bootstrap.d.ts +7 -0
- package/dist/src/commands/bootstrap.d.ts.map +1 -0
- package/dist/src/commands/bootstrap.js +255 -0
- package/dist/src/commands/bootstrap.js.map +1 -0
- package/dist/src/commands/git.d.ts +8 -0
- package/dist/src/commands/git.d.ts.map +1 -0
- package/dist/src/commands/git.js +53 -0
- package/dist/src/commands/git.js.map +1 -0
- package/dist/src/commands/identity.d.ts +1 -1
- package/dist/src/commands/identity.d.ts.map +1 -1
- package/dist/src/commands/identity.js +6 -6
- package/dist/src/commands/identity.js.map +1 -1
- package/dist/src/commands/mail.d.ts +1 -1
- package/dist/src/commands/mail.d.ts.map +1 -1
- package/dist/src/commands/mail.js +33 -7
- package/dist/src/commands/mail.js.map +1 -1
- package/dist/src/commands/office-manager.d.ts +147 -0
- package/dist/src/commands/office-manager.d.ts.map +1 -0
- package/dist/src/commands/office-manager.js +171 -0
- package/dist/src/commands/office-manager.js.map +1 -0
- package/dist/src/commands/office.d.ts +4 -11
- package/dist/src/commands/office.d.ts.map +1 -1
- package/dist/src/commands/office.js +266 -384
- package/dist/src/commands/office.js.map +1 -1
- package/dist/src/commands/secrets.d.ts +9 -0
- package/dist/src/commands/secrets.d.ts.map +1 -0
- package/dist/src/commands/secrets.js +54 -0
- package/dist/src/commands/secrets.js.map +1 -0
- package/dist/src/commands/status.d.ts +33 -0
- package/dist/src/commands/status.d.ts.map +1 -0
- package/dist/src/commands/status.js +407 -0
- package/dist/src/commands/status.js.map +1 -0
- package/dist/src/generators/brief.d.ts +6 -0
- package/dist/src/generators/brief.d.ts.map +1 -0
- package/dist/src/generators/brief.js +33 -0
- package/dist/src/generators/brief.js.map +1 -0
- package/dist/src/generators/claude-code.d.ts +1 -0
- package/dist/src/generators/claude-code.d.ts.map +1 -1
- package/dist/src/generators/claude-code.js +5 -0
- package/dist/src/generators/claude-code.js.map +1 -1
- package/dist/src/generators/codex.d.ts +1 -0
- package/dist/src/generators/codex.d.ts.map +1 -1
- package/dist/src/generators/codex.js +5 -0
- package/dist/src/generators/codex.js.map +1 -1
- package/dist/src/generators/openclaw.d.ts.map +1 -1
- package/dist/src/generators/openclaw.js +4 -0
- package/dist/src/generators/openclaw.js.map +1 -1
- package/dist/src/schema/manifest.d.ts +191 -44
- package/dist/src/schema/manifest.d.ts.map +1 -1
- package/dist/src/schema/manifest.js +58 -55
- package/dist/src/schema/manifest.js.map +1 -1
- package/dist/src/schema/sanitizer.d.ts.map +1 -1
- package/dist/src/schema/sanitizer.js +3 -1
- package/dist/src/schema/sanitizer.js.map +1 -1
- package/dist/src/utils/agent-info.js +1 -1
- package/dist/src/utils/agent-info.js.map +1 -1
- package/dist/src/utils/archive.d.ts +2 -9
- package/dist/src/utils/archive.d.ts.map +1 -1
- package/dist/src/utils/archive.js +90 -62
- package/dist/src/utils/archive.js.map +1 -1
- package/dist/src/utils/identity.d.ts +13 -3
- package/dist/src/utils/identity.d.ts.map +1 -1
- package/dist/src/utils/identity.js +109 -16
- package/dist/src/utils/identity.js.map +1 -1
- package/dist/src/utils/mail-handler.js +2 -2
- package/dist/src/utils/mail-handler.js.map +1 -1
- package/dist/src/utils/manifest.d.ts.map +1 -1
- package/dist/src/utils/manifest.js +17 -14
- package/dist/src/utils/manifest.js.map +1 -1
- package/dist/src/utils/noise-ik-transport.js +1 -1
- package/dist/src/utils/noise-ik-transport.js.map +1 -1
- package/dist/src/utils/nono.d.ts +1 -1
- package/dist/src/utils/nono.d.ts.map +1 -1
- package/dist/src/utils/nono.js.map +1 -1
- package/dist/src/utils/plain-tcp-transport.js +1 -1
- package/dist/src/utils/plain-tcp-transport.js.map +1 -1
- package/dist/src/utils/provision.d.ts.map +1 -1
- package/dist/src/utils/provision.js +8 -1
- package/dist/src/utils/provision.js.map +1 -1
- package/dist/src/utils/relay.js +4 -4
- package/dist/src/utils/relay.js.map +1 -1
- package/dist/src/utils/vault.d.ts +21 -0
- package/dist/src/utils/vault.d.ts.map +1 -0
- package/dist/src/utils/vault.js +67 -0
- package/dist/src/utils/vault.js.map +1 -0
- package/dist/src/utils/workspace.d.ts +14 -0
- package/dist/src/utils/workspace.d.ts.map +1 -0
- package/dist/src/utils/workspace.js +53 -0
- package/dist/src/utils/workspace.js.map +1 -0
- package/dist/src/utils/ws-noise-transport.js +2 -2
- package/dist/src/utils/ws-noise-transport.js.map +1 -1
- package/nono-profiles/tps-backup.toml +18 -0
- package/nono-profiles/tps-bootstrap.toml +20 -0
- package/nono-profiles/tps-office-manager.toml +21 -0
- package/nono-profiles/tps-restore.toml +18 -0
- package/nono-profiles/tps-status.toml +19 -0
- package/package.json +7 -27
- package/LICENSE +0 -201
- package/README.md +0 -79
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates the OPERATIONS.md brief that teaches an agent how to interact with the TPS environment.
|
|
3
|
+
*/
|
|
4
|
+
export function generateOperationalBrief(report, isBranch) {
|
|
5
|
+
const name = report.name || report.identity.default_name;
|
|
6
|
+
return `# Operations Manual: ${name}
|
|
7
|
+
|
|
8
|
+
You are operating within the **Team Provisioning System (TPS)**.
|
|
9
|
+
TPS is an Agent OS that enforces strict isolation boundaries. You do not share a context window with other agents. You must use the \`tps\` CLI to coordinate.
|
|
10
|
+
|
|
11
|
+
## 1. The Mailroom (Async Communication)
|
|
12
|
+
You communicate with your team via asynchronous mail.
|
|
13
|
+
- **Check your inbox**: \`tps mail check\` (run this periodically if you are waiting for a reply).
|
|
14
|
+
- **Send a message**: \`tps mail send <agent-id> "<message>"\`
|
|
15
|
+
- **Read history**: \`tps mail search <query>\`
|
|
16
|
+
|
|
17
|
+
## 2. The Roster (Finding Teammates)
|
|
18
|
+
You are not alone. To find out who else is on your team and what they do:
|
|
19
|
+
- **List all agents**: \`tps roster list\`
|
|
20
|
+
- **Look up an agent's skills**: \`tps roster show <agent-id>\`
|
|
21
|
+
|
|
22
|
+
## 3. Git Worktrees (Safe Collaboration)
|
|
23
|
+
When modifying code repositories, you must NEVER work directly in the main checkout if others are using it.
|
|
24
|
+
- **Create your isolated workspace**: \`tps git worktree ${name.toLowerCase()} <path-to-repo>\`
|
|
25
|
+
- Always perform your git operations (branching, committing, pushing) inside your dedicated worktree.
|
|
26
|
+
|
|
27
|
+
## 4. Security Boundaries
|
|
28
|
+
${isBranch ? "- You are running in a **Remote Branch Office**. You have local filesystem access within your workspace, but you must use the Mailroom to communicate with the host or other agents." : "- You are running under **nono** process isolation. Your filesystem access is restricted to your workspace, and your network access may be filtered."}
|
|
29
|
+
|
|
30
|
+
Stick to your role, use the CLI tools provided, and file your TPS reports.
|
|
31
|
+
`;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=brief.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief.js","sourceRoot":"","sources":["../../../src/generators/brief.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,QAAiB;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEzD,OAAO,wBAAwB,IAAI;;;;;;;;;;;;;;;;;;2DAkBsB,IAAI,CAAC,WAAW,EAAE;;;;EAI3E,QAAQ,CAAC,CAAC,CAAC,sLAAsL,CAAC,CAAC,CAAC,sJAAsJ;;;CAG3V,CAAC;AACF,CAAC"}
|
|
@@ -12,6 +12,7 @@ export interface GeneratedClaudeCode {
|
|
|
12
12
|
export declare function generateClaudeCode(rawReport: TPSReport, options?: {
|
|
13
13
|
name?: string;
|
|
14
14
|
workspace?: string;
|
|
15
|
+
branch?: boolean;
|
|
15
16
|
}): GeneratedClaudeCode;
|
|
16
17
|
export declare function writeClaudeCode(generated: GeneratedClaudeCode): string[];
|
|
17
18
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/generators/claude-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/generators/claude-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOrD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACpE,mBAAmB,CAqErB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAaxE"}
|
|
@@ -2,6 +2,7 @@ import { sanitizeTPSReport, sanitizeIdentifier } from "../schema/sanitizer.js";
|
|
|
2
2
|
import { mkdirSync, writeFileSync, existsSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
|
+
import { generateOperationalBrief } from "./brief.js";
|
|
5
6
|
export function generateClaudeCode(rawReport, options = {}) {
|
|
6
7
|
const report = sanitizeTPSReport(rawReport);
|
|
7
8
|
const agentName = options.name ? sanitizeIdentifier(options.name) : report.identity.default_name;
|
|
@@ -26,6 +27,9 @@ export function generateClaudeCode(rawReport, options = {}) {
|
|
|
26
27
|
"",
|
|
27
28
|
report.identity.communication_style,
|
|
28
29
|
"",
|
|
30
|
+
"## Operations",
|
|
31
|
+
"Read OPERATIONS.md to understand your environment and how to use the TPS CLI.",
|
|
32
|
+
"",
|
|
29
33
|
];
|
|
30
34
|
if (report.flair.length > 0) {
|
|
31
35
|
claudeMd.push("## Skills", "");
|
|
@@ -59,6 +63,7 @@ export function generateClaudeCode(rawReport, options = {}) {
|
|
|
59
63
|
};
|
|
60
64
|
const files = {
|
|
61
65
|
"CLAUDE.md": claudeMd.join("\n"),
|
|
66
|
+
"OPERATIONS.md": generateOperationalBrief(report, !!options.branch),
|
|
62
67
|
".claude/settings.json": JSON.stringify(settings, null, 2) + "\n",
|
|
63
68
|
};
|
|
64
69
|
return { files, workspacePath, agentId, agentName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/generators/claude-code.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/generators/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare function generateCodex(rawReport: TPSReport, options?: {
|
|
|
17
17
|
name?: string;
|
|
18
18
|
workspace?: string;
|
|
19
19
|
model?: string;
|
|
20
|
+
branch?: boolean;
|
|
20
21
|
}): GeneratedCodex;
|
|
21
22
|
export declare function writeCodex(generated: GeneratedCodex): string[];
|
|
22
23
|
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/generators/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/generators/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOrD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACpF,cAAc,CAuEhB;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,EAAE,CAU9D"}
|
|
@@ -2,6 +2,7 @@ import { sanitizeTPSReport, sanitizeIdentifier } from "../schema/sanitizer.js";
|
|
|
2
2
|
import { mkdirSync, writeFileSync, existsSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
|
+
import { generateOperationalBrief } from "./brief.js";
|
|
5
6
|
export function generateCodex(rawReport, options = {}) {
|
|
6
7
|
const report = sanitizeTPSReport(rawReport);
|
|
7
8
|
const agentName = options.name ? sanitizeIdentifier(options.name) : report.identity.default_name;
|
|
@@ -19,6 +20,9 @@ export function generateCodex(rawReport, options = {}) {
|
|
|
19
20
|
"",
|
|
20
21
|
report.description,
|
|
21
22
|
"",
|
|
23
|
+
"## Operations",
|
|
24
|
+
"Read OPERATIONS.md to understand your environment and how to use the TPS CLI.",
|
|
25
|
+
"",
|
|
22
26
|
"## Personality",
|
|
23
27
|
"",
|
|
24
28
|
report.identity.personality,
|
|
@@ -59,6 +63,7 @@ export function generateCodex(rawReport, options = {}) {
|
|
|
59
63
|
};
|
|
60
64
|
const files = {
|
|
61
65
|
"AGENTS.md": instructions.join("\n"),
|
|
66
|
+
"OPERATIONS.md": generateOperationalBrief(report, !!options.branch),
|
|
62
67
|
".codex/config.json": JSON.stringify(config, null, 2) + "\n",
|
|
63
68
|
};
|
|
64
69
|
return { files, workspacePath, agentId, agentName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/generators/codex.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/generators/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../../src/generators/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../../src/generators/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAmCrD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5G,kBAAkB,CA6FpB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAStE"}
|
|
@@ -23,6 +23,8 @@ function loadTemplate(name) {
|
|
|
23
23
|
const raw = readFileSync(join(dir, name), "utf-8");
|
|
24
24
|
return Handlebars.compile(raw);
|
|
25
25
|
}
|
|
26
|
+
import { generateOperationalBrief } from "./brief.js";
|
|
27
|
+
// ... previous helper functions ...
|
|
26
28
|
Handlebars.registerHelper("json", (ctx) => JSON.stringify(ctx, null, 2));
|
|
27
29
|
export function generateWorkspace(rawReport, options = {}) {
|
|
28
30
|
// ops-12.2: Sanitize input report before use
|
|
@@ -77,6 +79,8 @@ export function generateWorkspace(rawReport, options = {}) {
|
|
|
77
79
|
const tmpl = loadTemplate(t);
|
|
78
80
|
files[outName] = tmpl(templateData);
|
|
79
81
|
}
|
|
82
|
+
// Inject OPERATIONS.md brief
|
|
83
|
+
files["OPERATIONS.md"] = generateOperationalBrief(report, !!options.branch);
|
|
80
84
|
// Generate config matching actual OpenClaw agent schema
|
|
81
85
|
const config = {
|
|
82
86
|
id: agentId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/generators/openclaw.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/generators/openclaw.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,211 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const MailHandlerMatchSchema: z.ZodObject<{
|
|
3
|
+
from: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4
|
+
bodyPattern: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
5
|
+
}, "strict", z.ZodTypeAny, {
|
|
6
|
+
from?: string[] | undefined;
|
|
7
|
+
bodyPattern?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
from?: string[] | undefined;
|
|
10
|
+
bodyPattern?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const MailHandlerCapabilitySchema: z.ZodObject<{
|
|
13
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
14
|
+
exec: z.ZodOptional<z.ZodString>;
|
|
15
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
16
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
17
|
+
needs_roster: z.ZodDefault<z.ZodBoolean>;
|
|
18
|
+
match: z.ZodOptional<z.ZodObject<{
|
|
19
|
+
from: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
20
|
+
bodyPattern: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
21
|
+
}, "strict", z.ZodTypeAny, {
|
|
22
|
+
from?: string[] | undefined;
|
|
23
|
+
bodyPattern?: string | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
from?: string[] | undefined;
|
|
26
|
+
bodyPattern?: string | undefined;
|
|
27
|
+
}>>;
|
|
28
|
+
}, "strict", z.ZodTypeAny, {
|
|
29
|
+
timeout: number;
|
|
30
|
+
enabled: boolean;
|
|
31
|
+
priority: number;
|
|
32
|
+
needs_roster: boolean;
|
|
33
|
+
match?: {
|
|
34
|
+
from?: string[] | undefined;
|
|
35
|
+
bodyPattern?: string | undefined;
|
|
36
|
+
} | undefined;
|
|
37
|
+
exec?: string | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
match?: {
|
|
40
|
+
from?: string[] | undefined;
|
|
41
|
+
bodyPattern?: string | undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
timeout?: number | undefined;
|
|
44
|
+
enabled?: boolean | undefined;
|
|
45
|
+
exec?: string | undefined;
|
|
46
|
+
priority?: number | undefined;
|
|
47
|
+
needs_roster?: boolean | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const RoutingRuleSchema: z.ZodObject<{
|
|
50
|
+
pattern: z.ZodEffects<z.ZodString, string, string>;
|
|
51
|
+
to: z.ZodString;
|
|
52
|
+
}, "strict", z.ZodTypeAny, {
|
|
53
|
+
to: string;
|
|
54
|
+
pattern: string;
|
|
55
|
+
}, {
|
|
56
|
+
to: string;
|
|
57
|
+
pattern: string;
|
|
58
|
+
}>;
|
|
59
|
+
export declare const TpsYamlSchema: z.ZodObject<{
|
|
3
60
|
name: z.ZodString;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
61
|
+
version: z.ZodOptional<z.ZodString>;
|
|
62
|
+
description: z.ZodOptional<z.ZodString>;
|
|
63
|
+
capabilities: z.ZodOptional<z.ZodObject<{
|
|
64
|
+
mail_handler: z.ZodOptional<z.ZodObject<{
|
|
65
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
66
|
+
exec: z.ZodOptional<z.ZodString>;
|
|
67
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
68
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
69
|
+
needs_roster: z.ZodDefault<z.ZodBoolean>;
|
|
70
|
+
match: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
from: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
72
|
+
bodyPattern: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
73
|
+
}, "strict", z.ZodTypeAny, {
|
|
74
|
+
from?: string[] | undefined;
|
|
75
|
+
bodyPattern?: string | undefined;
|
|
76
|
+
}, {
|
|
77
|
+
from?: string[] | undefined;
|
|
78
|
+
bodyPattern?: string | undefined;
|
|
79
|
+
}>>;
|
|
80
|
+
}, "strict", z.ZodTypeAny, {
|
|
81
|
+
timeout: number;
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
priority: number;
|
|
84
|
+
needs_roster: boolean;
|
|
85
|
+
match?: {
|
|
86
|
+
from?: string[] | undefined;
|
|
87
|
+
bodyPattern?: string | undefined;
|
|
88
|
+
} | undefined;
|
|
89
|
+
exec?: string | undefined;
|
|
90
|
+
}, {
|
|
91
|
+
match?: {
|
|
92
|
+
from?: string[] | undefined;
|
|
93
|
+
bodyPattern?: string | undefined;
|
|
94
|
+
} | undefined;
|
|
95
|
+
timeout?: number | undefined;
|
|
96
|
+
enabled?: boolean | undefined;
|
|
97
|
+
exec?: string | undefined;
|
|
98
|
+
priority?: number | undefined;
|
|
99
|
+
needs_roster?: boolean | undefined;
|
|
100
|
+
}>>;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
mail_handler?: {
|
|
103
|
+
timeout: number;
|
|
104
|
+
enabled: boolean;
|
|
105
|
+
priority: number;
|
|
106
|
+
needs_roster: boolean;
|
|
107
|
+
match?: {
|
|
108
|
+
from?: string[] | undefined;
|
|
109
|
+
bodyPattern?: string | undefined;
|
|
110
|
+
} | undefined;
|
|
111
|
+
exec?: string | undefined;
|
|
112
|
+
} | undefined;
|
|
113
|
+
}, {
|
|
114
|
+
mail_handler?: {
|
|
115
|
+
match?: {
|
|
116
|
+
from?: string[] | undefined;
|
|
117
|
+
bodyPattern?: string | undefined;
|
|
118
|
+
} | undefined;
|
|
119
|
+
timeout?: number | undefined;
|
|
120
|
+
enabled?: boolean | undefined;
|
|
121
|
+
exec?: string | undefined;
|
|
122
|
+
priority?: number | undefined;
|
|
123
|
+
needs_roster?: boolean | undefined;
|
|
124
|
+
} | undefined;
|
|
125
|
+
}>>;
|
|
126
|
+
routing: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
127
|
+
pattern: z.ZodEffects<z.ZodString, string, string>;
|
|
128
|
+
to: z.ZodString;
|
|
129
|
+
}, "strict", z.ZodTypeAny, {
|
|
130
|
+
to: string;
|
|
131
|
+
pattern: string;
|
|
132
|
+
}, {
|
|
133
|
+
to: string;
|
|
134
|
+
pattern: string;
|
|
135
|
+
}>, "many">>;
|
|
136
|
+
}, "strict", z.ZodTypeAny, {
|
|
8
137
|
name: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
138
|
+
version?: string | undefined;
|
|
139
|
+
description?: string | undefined;
|
|
140
|
+
capabilities?: {
|
|
141
|
+
mail_handler?: {
|
|
142
|
+
timeout: number;
|
|
143
|
+
enabled: boolean;
|
|
144
|
+
priority: number;
|
|
145
|
+
needs_roster: boolean;
|
|
146
|
+
match?: {
|
|
147
|
+
from?: string[] | undefined;
|
|
148
|
+
bodyPattern?: string | undefined;
|
|
149
|
+
} | undefined;
|
|
150
|
+
exec?: string | undefined;
|
|
151
|
+
} | undefined;
|
|
152
|
+
} | undefined;
|
|
153
|
+
routing?: {
|
|
154
|
+
to: string;
|
|
155
|
+
pattern: string;
|
|
156
|
+
}[] | undefined;
|
|
12
157
|
}, {
|
|
13
158
|
name: string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
159
|
+
version?: string | undefined;
|
|
160
|
+
description?: string | undefined;
|
|
161
|
+
capabilities?: {
|
|
162
|
+
mail_handler?: {
|
|
163
|
+
match?: {
|
|
164
|
+
from?: string[] | undefined;
|
|
165
|
+
bodyPattern?: string | undefined;
|
|
166
|
+
} | undefined;
|
|
167
|
+
timeout?: number | undefined;
|
|
168
|
+
enabled?: boolean | undefined;
|
|
169
|
+
exec?: string | undefined;
|
|
170
|
+
priority?: number | undefined;
|
|
171
|
+
needs_roster?: boolean | undefined;
|
|
172
|
+
} | undefined;
|
|
173
|
+
} | undefined;
|
|
174
|
+
routing?: {
|
|
175
|
+
to: string;
|
|
176
|
+
pattern: string;
|
|
177
|
+
}[] | undefined;
|
|
17
178
|
}>;
|
|
179
|
+
export type TpsYaml = z.infer<typeof TpsYamlSchema>;
|
|
18
180
|
export declare const OfficeManifestSchema: z.ZodObject<{
|
|
19
|
-
version: z.ZodDefault<z.ZodString>;
|
|
20
181
|
name: z.ZodString;
|
|
21
|
-
purpose: z.ZodDefault<z.ZodEnum<["
|
|
182
|
+
purpose: z.ZodDefault<z.ZodEnum<["ops", "research", "development", "adversarial"]>>;
|
|
22
183
|
manager: z.ZodObject<{
|
|
23
184
|
name: z.ZodString;
|
|
185
|
+
persona: z.ZodString;
|
|
24
186
|
role: z.ZodOptional<z.ZodString>;
|
|
25
|
-
tps_report: z.ZodOptional<z.ZodString>;
|
|
26
|
-
} & {
|
|
27
|
-
persona: z.ZodDefault<z.ZodString>;
|
|
28
187
|
}, "strip", z.ZodTypeAny, {
|
|
29
188
|
name: string;
|
|
30
189
|
persona: string;
|
|
31
190
|
role?: string | undefined;
|
|
32
|
-
tps_report?: string | undefined;
|
|
33
191
|
}, {
|
|
34
192
|
name: string;
|
|
35
|
-
persona
|
|
193
|
+
persona: string;
|
|
36
194
|
role?: string | undefined;
|
|
37
|
-
tps_report?: string | undefined;
|
|
38
195
|
}>;
|
|
39
|
-
agents: z.ZodArray<z.ZodObject<{
|
|
196
|
+
agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
40
197
|
name: z.ZodString;
|
|
41
|
-
persona: z.
|
|
198
|
+
persona: z.ZodString;
|
|
42
199
|
role: z.ZodOptional<z.ZodString>;
|
|
43
|
-
tps_report: z.ZodOptional<z.ZodString>;
|
|
44
200
|
}, "strip", z.ZodTypeAny, {
|
|
45
201
|
name: string;
|
|
46
202
|
persona: string;
|
|
47
203
|
role?: string | undefined;
|
|
48
|
-
tps_report?: string | undefined;
|
|
49
204
|
}, {
|
|
50
205
|
name: string;
|
|
51
|
-
persona
|
|
206
|
+
persona: string;
|
|
52
207
|
role?: string | undefined;
|
|
53
|
-
|
|
54
|
-
}>, "many">;
|
|
208
|
+
}>, "many">>;
|
|
55
209
|
wall: z.ZodDefault<z.ZodBoolean>;
|
|
56
210
|
context: z.ZodOptional<z.ZodObject<{
|
|
57
211
|
briefs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -83,21 +237,18 @@ export declare const OfficeManifestSchema: z.ZodObject<{
|
|
|
83
237
|
readonly?: boolean | undefined;
|
|
84
238
|
}[] | undefined;
|
|
85
239
|
}>>;
|
|
86
|
-
}, "
|
|
87
|
-
version: string;
|
|
240
|
+
}, "strict", z.ZodTypeAny, {
|
|
88
241
|
name: string;
|
|
89
242
|
agents: {
|
|
90
243
|
name: string;
|
|
91
244
|
persona: string;
|
|
92
245
|
role?: string | undefined;
|
|
93
|
-
tps_report?: string | undefined;
|
|
94
246
|
}[];
|
|
95
|
-
purpose: "ops" | "
|
|
247
|
+
purpose: "ops" | "research" | "development" | "adversarial";
|
|
96
248
|
manager: {
|
|
97
249
|
name: string;
|
|
98
250
|
persona: string;
|
|
99
251
|
role?: string | undefined;
|
|
100
|
-
tps_report?: string | undefined;
|
|
101
252
|
};
|
|
102
253
|
wall: boolean;
|
|
103
254
|
context?: {
|
|
@@ -110,19 +261,18 @@ export declare const OfficeManifestSchema: z.ZodObject<{
|
|
|
110
261
|
} | undefined;
|
|
111
262
|
}, {
|
|
112
263
|
name: string;
|
|
113
|
-
agents: {
|
|
114
|
-
name: string;
|
|
115
|
-
persona?: string | undefined;
|
|
116
|
-
role?: string | undefined;
|
|
117
|
-
tps_report?: string | undefined;
|
|
118
|
-
}[];
|
|
119
264
|
manager: {
|
|
120
265
|
name: string;
|
|
121
|
-
persona
|
|
266
|
+
persona: string;
|
|
122
267
|
role?: string | undefined;
|
|
123
|
-
tps_report?: string | undefined;
|
|
124
268
|
};
|
|
125
|
-
|
|
269
|
+
agents?: {
|
|
270
|
+
name: string;
|
|
271
|
+
persona: string;
|
|
272
|
+
role?: string | undefined;
|
|
273
|
+
}[] | undefined;
|
|
274
|
+
purpose?: "ops" | "research" | "development" | "adversarial" | undefined;
|
|
275
|
+
wall?: boolean | undefined;
|
|
126
276
|
context?: {
|
|
127
277
|
briefs?: string[] | undefined;
|
|
128
278
|
mounts?: {
|
|
@@ -131,10 +281,7 @@ export declare const OfficeManifestSchema: z.ZodObject<{
|
|
|
131
281
|
readonly?: boolean | undefined;
|
|
132
282
|
}[] | undefined;
|
|
133
283
|
} | undefined;
|
|
134
|
-
purpose?: "ops" | "development" | "research" | "adversarial" | undefined;
|
|
135
|
-
wall?: boolean | undefined;
|
|
136
284
|
}>;
|
|
137
285
|
export type OfficeManifest = z.infer<typeof OfficeManifestSchema>;
|
|
138
|
-
export
|
|
139
|
-
export declare function parseOfficeManifest(filePath: string): OfficeManifest;
|
|
286
|
+
export declare function parseOfficeManifest(path: string): OfficeManifest;
|
|
140
287
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/schema/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/schema/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,sBAAsB;;;;;;;;;EAGxB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;;;;;;;;EAGnB,CAAC;AAEZ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQf,CAAC;AAEZ,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAKhE"}
|
|
@@ -1,62 +1,65 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
import { readFileSync } from "node:fs";
|
|
4
|
-
export const OfficeAgentSchema = z.object({
|
|
5
|
-
name: z.string().min(1),
|
|
6
|
-
persona: z.string().default("developer"),
|
|
7
|
-
role: z.string().optional(),
|
|
8
|
-
tps_report: z.string().optional(), // path to a .tps file
|
|
9
|
-
});
|
|
10
|
-
const OfficeContextMountSchema = z.object({
|
|
11
|
-
host: z.string().min(1),
|
|
12
|
-
target: z.string().min(1),
|
|
13
|
-
readonly: z.boolean().default(true),
|
|
14
|
-
});
|
|
15
|
-
const OfficeContextSchema = z.object({
|
|
16
|
-
briefs: z.array(z.string().min(1).max(1024)).max(20).optional(),
|
|
17
|
-
mounts: z.array(OfficeContextMountSchema).max(20).optional(),
|
|
18
|
-
}).optional();
|
|
19
|
-
export const OfficeManifestSchema = z.object({
|
|
20
|
-
version: z.string().default("1"),
|
|
21
|
-
name: z.string().min(1, "Office name is required."),
|
|
22
|
-
purpose: z.enum(["development", "research", "adversarial", "ops"]).default("development"),
|
|
23
|
-
manager: OfficeAgentSchema.extend({
|
|
24
|
-
persona: z.string().default("ops"),
|
|
25
|
-
}),
|
|
26
|
-
agents: z.array(OfficeAgentSchema).min(1, "At least one worker agent is required."),
|
|
27
|
-
wall: z.boolean().default(true),
|
|
28
|
-
context: OfficeContextSchema,
|
|
29
|
-
});
|
|
30
|
-
export function parseOfficeManifest(filePath) {
|
|
31
|
-
let raw;
|
|
2
|
+
const RegexStringSchema = z.string().refine((val) => {
|
|
32
3
|
try {
|
|
33
|
-
|
|
4
|
+
new RegExp(val); // nosemgrep: detect-non-literal-regexp — validating user-provided pattern from config
|
|
5
|
+
return true;
|
|
34
6
|
}
|
|
35
7
|
catch {
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
// Pre-parse guardrails against YAML anchor expansion DoS (Billion Laughs).
|
|
39
|
-
if (raw.length > 65_536) {
|
|
40
|
-
throw new Error("Office manifest exceeds maximum size (64KB).");
|
|
41
|
-
}
|
|
42
|
-
const aliasRefs = (raw.match(/\*/g) ?? []).length;
|
|
43
|
-
if (aliasRefs > 20) {
|
|
44
|
-
throw new Error("Office manifest contains too many YAML aliases (max 20).");
|
|
45
|
-
}
|
|
46
|
-
let parsed;
|
|
47
|
-
try {
|
|
48
|
-
parsed = yaml.load(raw);
|
|
8
|
+
return false;
|
|
49
9
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
10
|
+
}, { message: "Invalid regular expression" });
|
|
11
|
+
export const MailHandlerMatchSchema = z.object({
|
|
12
|
+
from: z.array(z.string()).optional(),
|
|
13
|
+
bodyPattern: RegexStringSchema.optional(),
|
|
14
|
+
}).strict();
|
|
15
|
+
export const MailHandlerCapabilitySchema = z.object({
|
|
16
|
+
enabled: z.boolean().default(true),
|
|
17
|
+
exec: z.string().optional(),
|
|
18
|
+
priority: z.number().default(100),
|
|
19
|
+
timeout: z.number().default(30),
|
|
20
|
+
needs_roster: z.boolean().default(false),
|
|
21
|
+
match: MailHandlerMatchSchema.optional(),
|
|
22
|
+
}).strict();
|
|
23
|
+
export const RoutingRuleSchema = z.object({
|
|
24
|
+
pattern: RegexStringSchema,
|
|
25
|
+
to: z.string(),
|
|
26
|
+
}).strict();
|
|
27
|
+
export const TpsYamlSchema = z.object({
|
|
28
|
+
name: z.string().min(1),
|
|
29
|
+
version: z.string().optional(),
|
|
30
|
+
description: z.string().optional(),
|
|
31
|
+
capabilities: z.object({
|
|
32
|
+
mail_handler: MailHandlerCapabilitySchema.optional(),
|
|
33
|
+
}).optional(),
|
|
34
|
+
routing: z.array(RoutingRuleSchema).optional(),
|
|
35
|
+
}).strict();
|
|
36
|
+
export const OfficeManifestSchema = z.object({
|
|
37
|
+
name: z.string().min(1),
|
|
38
|
+
purpose: z.enum(["ops", "research", "development", "adversarial"]).default("ops"),
|
|
39
|
+
manager: z.object({
|
|
40
|
+
name: z.string(),
|
|
41
|
+
persona: z.string(),
|
|
42
|
+
role: z.string().optional(),
|
|
43
|
+
}),
|
|
44
|
+
agents: z.array(z.object({
|
|
45
|
+
name: z.string(),
|
|
46
|
+
persona: z.string(),
|
|
47
|
+
role: z.string().optional(),
|
|
48
|
+
})).default([]),
|
|
49
|
+
wall: z.boolean().default(false),
|
|
50
|
+
context: z.object({
|
|
51
|
+
briefs: z.array(z.string()).optional(),
|
|
52
|
+
mounts: z.array(z.object({
|
|
53
|
+
host: z.string(),
|
|
54
|
+
target: z.string(),
|
|
55
|
+
readonly: z.boolean().default(true),
|
|
56
|
+
})).optional(),
|
|
57
|
+
}).optional(),
|
|
58
|
+
}).strict();
|
|
59
|
+
export function parseOfficeManifest(path) {
|
|
60
|
+
const { readFileSync } = require("node:fs");
|
|
61
|
+
const { load } = require("js-yaml");
|
|
62
|
+
const doc = load(readFileSync(path, "utf-8"));
|
|
63
|
+
return OfficeManifestSchema.parse(doc);
|
|
61
64
|
}
|
|
62
65
|
//# sourceMappingURL=manifest.js.map
|