@clawmasons/shared 0.1.0 → 0.1.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/README.md +7 -0
- package/dist/mason/index.d.ts +3 -0
- package/dist/mason/index.d.ts.map +1 -0
- package/dist/mason/index.js +5 -0
- package/dist/mason/index.js.map +1 -0
- package/dist/mason/proposer.d.ts +36 -0
- package/dist/mason/proposer.d.ts.map +1 -0
- package/dist/mason/proposer.js +121 -0
- package/dist/mason/proposer.js.map +1 -0
- package/dist/mason/scanner.d.ts +64 -0
- package/dist/mason/scanner.d.ts.map +1 -0
- package/dist/mason/scanner.js +212 -0
- package/dist/mason/scanner.js.map +1 -0
- package/dist/role/adapter.d.ts +1 -1
- package/dist/role/adapter.js +2 -2
- package/dist/role/adapter.js.map +1 -1
- package/dist/role/dialect-registry.d.ts +49 -0
- package/dist/role/dialect-registry.d.ts.map +1 -0
- package/dist/role/dialect-registry.js +100 -0
- package/dist/role/dialect-registry.js.map +1 -0
- package/dist/role/index.d.ts +7 -0
- package/dist/schemas/app.d.ts +59 -0
- package/dist/schemas/app.d.ts.map +1 -0
- package/dist/schemas/app.js +42 -0
- package/dist/schemas/app.js.map +1 -0
- package/dist/schemas/chapter-field.d.ts +8 -0
- package/dist/schemas/chapter-field.d.ts.map +1 -0
- package/dist/schemas/chapter-field.js +60 -0
- package/dist/schemas/chapter-field.js.map +1 -0
- package/dist/schemas/role-types.d.ts +74 -74
- package/dist/schemas/role.d.ts +87 -0
- package/dist/schemas/role.d.ts.map +1 -0
- package/dist/schemas/role.js +29 -0
- package/dist/schemas/role.js.map +1 -0
- package/dist/schemas/skill.d.ts +16 -0
- package/dist/schemas/skill.d.ts.map +1 -0
- package/dist/schemas/skill.js +7 -0
- package/dist/schemas/skill.js.map +1 -0
- package/dist/schemas/task.d.ts +43 -0
- package/dist/schemas/task.d.ts.map +1 -0
- package/dist/schemas/task.js +16 -0
- package/dist/schemas/task.js.map +1 -0
- package/dist/toolfilter.d.ts +28 -0
- package/package.json +1 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialect Registry — maps agent directories to field name translations.
|
|
3
|
+
*
|
|
4
|
+
* Each supported agent runtime uses its own vocabulary in ROLE.md frontmatter.
|
|
5
|
+
* The registry normalizes these to generic ROLE_TYPES field names:
|
|
6
|
+
* - tasks (Claude: commands, Codex: instructions, Aider: conventions)
|
|
7
|
+
* - apps (all: mcp_servers)
|
|
8
|
+
* - skills (all: skills)
|
|
9
|
+
*
|
|
10
|
+
* New runtimes are registered by calling `registerDialect()`.
|
|
11
|
+
*/
|
|
12
|
+
// Internal mutable registry
|
|
13
|
+
const dialects = new Map();
|
|
14
|
+
// directory → dialect name lookup
|
|
15
|
+
const directoryToDialect = new Map();
|
|
16
|
+
/**
|
|
17
|
+
* Register a new dialect entry. Overwrites if the same name already exists.
|
|
18
|
+
*/
|
|
19
|
+
export function registerDialect(entry) {
|
|
20
|
+
dialects.set(entry.name, entry);
|
|
21
|
+
directoryToDialect.set(entry.directory, entry.name);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Look up a dialect by its name (e.g., "claude-code-agent").
|
|
25
|
+
*/
|
|
26
|
+
export function getDialect(name) {
|
|
27
|
+
return dialects.get(name);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Look up a dialect by its directory name (e.g., "claude").
|
|
31
|
+
* The directory should not include the leading dot.
|
|
32
|
+
*/
|
|
33
|
+
export function getDialectByDirectory(directory) {
|
|
34
|
+
const dialectName = directoryToDialect.get(directory);
|
|
35
|
+
if (!dialectName)
|
|
36
|
+
return undefined;
|
|
37
|
+
return dialects.get(dialectName);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get all registered dialect entries.
|
|
41
|
+
*/
|
|
42
|
+
export function getAllDialects() {
|
|
43
|
+
return [...dialects.values()];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get all known agent directory names (without dot prefix).
|
|
47
|
+
*/
|
|
48
|
+
export function getKnownDirectories() {
|
|
49
|
+
return [...directoryToDialect.keys()];
|
|
50
|
+
}
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Built-in dialects (per PRD Appendix B)
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
registerDialect({
|
|
55
|
+
name: "claude-code-agent",
|
|
56
|
+
directory: "claude",
|
|
57
|
+
fieldMapping: {
|
|
58
|
+
tasks: "commands",
|
|
59
|
+
apps: "mcp_servers",
|
|
60
|
+
skills: "skills",
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
registerDialect({
|
|
64
|
+
name: "codex",
|
|
65
|
+
directory: "codex",
|
|
66
|
+
fieldMapping: {
|
|
67
|
+
tasks: "instructions",
|
|
68
|
+
apps: "mcp_servers",
|
|
69
|
+
skills: "skills",
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
registerDialect({
|
|
73
|
+
name: "aider",
|
|
74
|
+
directory: "aider",
|
|
75
|
+
fieldMapping: {
|
|
76
|
+
tasks: "conventions",
|
|
77
|
+
apps: "mcp_servers",
|
|
78
|
+
skills: "skills",
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
registerDialect({
|
|
82
|
+
name: "mcp-agent",
|
|
83
|
+
directory: "mcp",
|
|
84
|
+
fieldMapping: {
|
|
85
|
+
tasks: "commands",
|
|
86
|
+
apps: "mcp_servers",
|
|
87
|
+
skills: "skills",
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
// The canonical mason location (.mason/roles/) uses generic field names
|
|
91
|
+
registerDialect({
|
|
92
|
+
name: "mason",
|
|
93
|
+
directory: "mason",
|
|
94
|
+
fieldMapping: {
|
|
95
|
+
tasks: "tasks",
|
|
96
|
+
apps: "mcp_servers",
|
|
97
|
+
skills: "skills",
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=dialect-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialect-registry.js","sourceRoot":"","sources":["../../src/role/dialect-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,4BAA4B;AAC5B,MAAM,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;AACtD,kCAAkC;AAClC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,eAAe,CAAC;IACd,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE;QACZ,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE;QACZ,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC;AAEH,wEAAwE;AACxE,eAAe,CAAC;IACd,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { registerDialect, getDialect, getDialectByDirectory, getAllDialects, getKnownDirectories, type DialectEntry, type DialectFieldMapping, } from "./dialect-registry.js";
|
|
2
|
+
export { readMaterializedRole, parseFrontmatter, detectDialect, RoleParseError, } from "./parser.js";
|
|
3
|
+
export { scanBundledResources } from "./resource-scanner.js";
|
|
4
|
+
export { readPackagedRole, PackageReadError } from "./package-reader.js";
|
|
5
|
+
export { adaptRoleToResolvedAgent, AdapterError } from "./adapter.js";
|
|
6
|
+
export { discoverRoles, resolveRole, RoleDiscoveryError } from "./discovery.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const appChapterFieldSchema: z.ZodEffects<z.ZodObject<{
|
|
3
|
+
type: z.ZodLiteral<"app">;
|
|
4
|
+
description: z.ZodOptional<z.ZodString>;
|
|
5
|
+
transport: z.ZodEnum<["stdio", "sse", "streamable-http"]>;
|
|
6
|
+
tools: z.ZodArray<z.ZodString, "many">;
|
|
7
|
+
capabilities: z.ZodArray<z.ZodString, "many">;
|
|
8
|
+
credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
9
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
10
|
+
command: z.ZodOptional<z.ZodString>;
|
|
11
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
12
|
+
url: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
type: "app";
|
|
15
|
+
transport: "stdio" | "sse" | "streamable-http";
|
|
16
|
+
tools: string[];
|
|
17
|
+
capabilities: string[];
|
|
18
|
+
credentials: string[];
|
|
19
|
+
description?: string | undefined;
|
|
20
|
+
url?: string | undefined;
|
|
21
|
+
env?: Record<string, string> | undefined;
|
|
22
|
+
command?: string | undefined;
|
|
23
|
+
args?: string[] | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
type: "app";
|
|
26
|
+
transport: "stdio" | "sse" | "streamable-http";
|
|
27
|
+
tools: string[];
|
|
28
|
+
capabilities: string[];
|
|
29
|
+
description?: string | undefined;
|
|
30
|
+
credentials?: string[] | undefined;
|
|
31
|
+
url?: string | undefined;
|
|
32
|
+
env?: Record<string, string> | undefined;
|
|
33
|
+
command?: string | undefined;
|
|
34
|
+
args?: string[] | undefined;
|
|
35
|
+
}>, {
|
|
36
|
+
type: "app";
|
|
37
|
+
transport: "stdio" | "sse" | "streamable-http";
|
|
38
|
+
tools: string[];
|
|
39
|
+
capabilities: string[];
|
|
40
|
+
credentials: string[];
|
|
41
|
+
description?: string | undefined;
|
|
42
|
+
url?: string | undefined;
|
|
43
|
+
env?: Record<string, string> | undefined;
|
|
44
|
+
command?: string | undefined;
|
|
45
|
+
args?: string[] | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
type: "app";
|
|
48
|
+
transport: "stdio" | "sse" | "streamable-http";
|
|
49
|
+
tools: string[];
|
|
50
|
+
capabilities: string[];
|
|
51
|
+
description?: string | undefined;
|
|
52
|
+
credentials?: string[] | undefined;
|
|
53
|
+
url?: string | undefined;
|
|
54
|
+
env?: Record<string, string> | undefined;
|
|
55
|
+
command?: string | undefined;
|
|
56
|
+
args?: string[] | undefined;
|
|
57
|
+
}>;
|
|
58
|
+
export type AppChapterField = z.infer<typeof appChapterFieldSchema>;
|
|
59
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/schemas/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC9B,CAAC;AAEL,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const appChapterFieldSchema = z
|
|
3
|
+
.object({
|
|
4
|
+
type: z.literal("app"),
|
|
5
|
+
description: z.string().optional(),
|
|
6
|
+
transport: z.enum(["stdio", "sse", "streamable-http"]),
|
|
7
|
+
tools: z.array(z.string()).min(1),
|
|
8
|
+
capabilities: z.array(z.string()).min(1),
|
|
9
|
+
credentials: z.array(z.string()).optional().default([]),
|
|
10
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
11
|
+
command: z.string().optional(),
|
|
12
|
+
args: z.array(z.string()).optional(),
|
|
13
|
+
url: z.string().optional(),
|
|
14
|
+
})
|
|
15
|
+
.superRefine((data, ctx) => {
|
|
16
|
+
if (data.transport === "stdio") {
|
|
17
|
+
if (!data.command) {
|
|
18
|
+
ctx.addIssue({
|
|
19
|
+
code: z.ZodIssueCode.custom,
|
|
20
|
+
message: "command is required for stdio transport",
|
|
21
|
+
path: ["command"],
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (!data.args) {
|
|
25
|
+
ctx.addIssue({
|
|
26
|
+
code: z.ZodIssueCode.custom,
|
|
27
|
+
message: "args is required for stdio transport",
|
|
28
|
+
path: ["args"],
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (!data.url) {
|
|
34
|
+
ctx.addIssue({
|
|
35
|
+
code: z.ZodIssueCode.custom,
|
|
36
|
+
message: "url is required for sse/streamable-http transport",
|
|
37
|
+
path: ["url"],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/schemas/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC;KACD,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACzB,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,sCAAsC;gBAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,mDAAmD;gBAC5D,IAAI,EAAE,CAAC,KAAK,CAAC;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type AppChapterField } from "./app.js";
|
|
3
|
+
import { type SkillChapterField } from "./skill.js";
|
|
4
|
+
import { type TaskChapterField } from "./task.js";
|
|
5
|
+
import { type RoleChapterField } from "./role.js";
|
|
6
|
+
export type ChapterField = AppChapterField | SkillChapterField | TaskChapterField | RoleChapterField;
|
|
7
|
+
export declare function parseChapterField(input: unknown): z.SafeParseReturnType<unknown, ChapterField>;
|
|
8
|
+
//# sourceMappingURL=chapter-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chapter-field.d.ts","sourceRoot":"","sources":["../../src/schemas/chapter-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,CAAC;AAWrB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAiD9F"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { appChapterFieldSchema } from "./app.js";
|
|
3
|
+
import { skillChapterFieldSchema } from "./skill.js";
|
|
4
|
+
import { taskChapterFieldSchema } from "./task.js";
|
|
5
|
+
import { roleChapterFieldSchema } from "./role.js";
|
|
6
|
+
const chapterTypeValues = ["app", "skill", "task", "role"];
|
|
7
|
+
const schemasByType = {
|
|
8
|
+
app: appChapterFieldSchema,
|
|
9
|
+
skill: skillChapterFieldSchema,
|
|
10
|
+
task: taskChapterFieldSchema,
|
|
11
|
+
role: roleChapterFieldSchema,
|
|
12
|
+
};
|
|
13
|
+
export function parseChapterField(input) {
|
|
14
|
+
if (input === null || typeof input !== "object") {
|
|
15
|
+
return {
|
|
16
|
+
success: false,
|
|
17
|
+
error: new z.ZodError([
|
|
18
|
+
{
|
|
19
|
+
code: z.ZodIssueCode.invalid_type,
|
|
20
|
+
expected: "object",
|
|
21
|
+
received: input === null ? "null" : typeof input,
|
|
22
|
+
path: [],
|
|
23
|
+
message: "Expected object, received " + (input === null ? "null" : typeof input),
|
|
24
|
+
},
|
|
25
|
+
]),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const obj = input;
|
|
29
|
+
if (!("type" in obj) || typeof obj.type !== "string") {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: new z.ZodError([
|
|
33
|
+
{
|
|
34
|
+
code: z.ZodIssueCode.invalid_type,
|
|
35
|
+
expected: "string",
|
|
36
|
+
received: obj.type === undefined ? "undefined" : typeof obj.type,
|
|
37
|
+
path: ["type"],
|
|
38
|
+
message: "Required",
|
|
39
|
+
},
|
|
40
|
+
]),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const schema = schemasByType[obj.type];
|
|
44
|
+
if (!schema) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: new z.ZodError([
|
|
48
|
+
{
|
|
49
|
+
code: z.ZodIssueCode.invalid_enum_value,
|
|
50
|
+
options: [...chapterTypeValues],
|
|
51
|
+
received: obj.type,
|
|
52
|
+
path: ["type"],
|
|
53
|
+
message: `Invalid discriminator value. Expected ${chapterTypeValues.map((t) => `'${t}'`).join(" | ")}`,
|
|
54
|
+
},
|
|
55
|
+
]),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return schema.safeParse(input);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=chapter-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chapter-field.js","sourceRoot":"","sources":["../../src/schemas/chapter-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAwB,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAA0B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,WAAW,CAAC;AAQ1E,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAEpE,MAAM,aAAa,GAA8B;IAC/C,GAAG,EAAE,qBAAqB;IAC1B,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,sBAAsB;CAC7B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACpB;oBACE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK;oBAChD,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,4BAA4B,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;iBACjF;aACF,CAAC;SAC+B,CAAC;IACtC,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACpB;oBACE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI;oBAChE,IAAI,EAAE,CAAC,MAAM,CAAC;oBACd,OAAO,EAAE,UAAU;iBACpB;aACF,CAAC;SAC+B,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACpB;oBACE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB;oBACvC,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;oBAC/B,QAAQ,EAAE,GAAG,CAAC,IAAI;oBAClB,IAAI,EAAE,CAAC,MAAM,CAAC;oBACd,OAAO,EAAE,yCAAyC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBACvG;aACF,CAAC;SAC+B,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAiD,CAAC;AACjF,CAAC"}
|
|
@@ -15,13 +15,13 @@ export declare const roleMetadataSchema: z.ZodObject<{
|
|
|
15
15
|
version: z.ZodOptional<z.ZodString>;
|
|
16
16
|
scope: z.ZodOptional<z.ZodString>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
name: string;
|
|
19
18
|
description: string;
|
|
19
|
+
name: string;
|
|
20
20
|
version?: string | undefined;
|
|
21
21
|
scope?: string | undefined;
|
|
22
22
|
}, {
|
|
23
|
-
name: string;
|
|
24
23
|
description: string;
|
|
24
|
+
name: string;
|
|
25
25
|
version?: string | undefined;
|
|
26
26
|
scope?: string | undefined;
|
|
27
27
|
}>;
|
|
@@ -65,31 +65,31 @@ export declare const appConfigSchema: z.ZodObject<{
|
|
|
65
65
|
}>>>;
|
|
66
66
|
credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
67
67
|
}, "strip", z.ZodTypeAny, {
|
|
68
|
-
name: string;
|
|
69
|
-
env: Record<string, string>;
|
|
70
68
|
tools: {
|
|
71
69
|
allow: string[];
|
|
72
70
|
deny: string[];
|
|
73
71
|
};
|
|
74
72
|
credentials: string[];
|
|
75
|
-
|
|
73
|
+
env: Record<string, string>;
|
|
74
|
+
name: string;
|
|
76
75
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
76
|
+
url?: string | undefined;
|
|
77
77
|
command?: string | undefined;
|
|
78
78
|
args?: string[] | undefined;
|
|
79
|
-
|
|
79
|
+
package?: string | undefined;
|
|
80
80
|
}, {
|
|
81
81
|
name: string;
|
|
82
|
-
package?: string | undefined;
|
|
83
82
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
84
|
-
command?: string | undefined;
|
|
85
|
-
args?: string[] | undefined;
|
|
86
|
-
url?: string | undefined;
|
|
87
|
-
env?: Record<string, string> | undefined;
|
|
88
83
|
tools?: {
|
|
89
84
|
allow?: string[] | undefined;
|
|
90
85
|
deny?: string[] | undefined;
|
|
91
86
|
} | undefined;
|
|
92
87
|
credentials?: string[] | undefined;
|
|
88
|
+
url?: string | undefined;
|
|
89
|
+
env?: Record<string, string> | undefined;
|
|
90
|
+
command?: string | undefined;
|
|
91
|
+
args?: string[] | undefined;
|
|
92
|
+
package?: string | undefined;
|
|
93
93
|
}>;
|
|
94
94
|
export declare const mountConfigSchema: z.ZodObject<{
|
|
95
95
|
source: z.ZodString;
|
|
@@ -150,6 +150,11 @@ export declare const containerRequirementsSchema: z.ZodObject<{
|
|
|
150
150
|
}[], unknown>;
|
|
151
151
|
baseImage: z.ZodOptional<z.ZodString>;
|
|
152
152
|
}, "strip", z.ZodTypeAny, {
|
|
153
|
+
mounts: {
|
|
154
|
+
source: string;
|
|
155
|
+
target: string;
|
|
156
|
+
readonly: boolean;
|
|
157
|
+
}[];
|
|
153
158
|
packages: {
|
|
154
159
|
apt: string[];
|
|
155
160
|
npm: string[];
|
|
@@ -158,17 +163,12 @@ export declare const containerRequirementsSchema: z.ZodObject<{
|
|
|
158
163
|
ignore: {
|
|
159
164
|
paths: string[];
|
|
160
165
|
};
|
|
161
|
-
mounts: {
|
|
162
|
-
source: string;
|
|
163
|
-
target: string;
|
|
164
|
-
readonly: boolean;
|
|
165
|
-
}[];
|
|
166
166
|
baseImage?: string | undefined;
|
|
167
167
|
}, {
|
|
168
|
-
packages?: unknown;
|
|
169
|
-
ignore?: unknown;
|
|
170
168
|
mounts?: unknown;
|
|
171
169
|
baseImage?: string | undefined;
|
|
170
|
+
packages?: unknown;
|
|
171
|
+
ignore?: unknown;
|
|
172
172
|
}>;
|
|
173
173
|
export declare const governanceConfigSchema: z.ZodObject<{
|
|
174
174
|
risk: z.ZodDefault<z.ZodOptional<z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>>>;
|
|
@@ -234,13 +234,13 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
234
234
|
version: z.ZodOptional<z.ZodString>;
|
|
235
235
|
scope: z.ZodOptional<z.ZodString>;
|
|
236
236
|
}, "strip", z.ZodTypeAny, {
|
|
237
|
-
name: string;
|
|
238
237
|
description: string;
|
|
238
|
+
name: string;
|
|
239
239
|
version?: string | undefined;
|
|
240
240
|
scope?: string | undefined;
|
|
241
241
|
}, {
|
|
242
|
-
name: string;
|
|
243
242
|
description: string;
|
|
243
|
+
name: string;
|
|
244
244
|
version?: string | undefined;
|
|
245
245
|
scope?: string | undefined;
|
|
246
246
|
}>;
|
|
@@ -276,31 +276,31 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
276
276
|
}>>>;
|
|
277
277
|
credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
278
278
|
}, "strip", z.ZodTypeAny, {
|
|
279
|
-
name: string;
|
|
280
|
-
env: Record<string, string>;
|
|
281
279
|
tools: {
|
|
282
280
|
allow: string[];
|
|
283
281
|
deny: string[];
|
|
284
282
|
};
|
|
285
283
|
credentials: string[];
|
|
286
|
-
|
|
284
|
+
env: Record<string, string>;
|
|
285
|
+
name: string;
|
|
287
286
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
287
|
+
url?: string | undefined;
|
|
288
288
|
command?: string | undefined;
|
|
289
289
|
args?: string[] | undefined;
|
|
290
|
-
|
|
290
|
+
package?: string | undefined;
|
|
291
291
|
}, {
|
|
292
292
|
name: string;
|
|
293
|
-
package?: string | undefined;
|
|
294
293
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
295
|
-
command?: string | undefined;
|
|
296
|
-
args?: string[] | undefined;
|
|
297
|
-
url?: string | undefined;
|
|
298
|
-
env?: Record<string, string> | undefined;
|
|
299
294
|
tools?: {
|
|
300
295
|
allow?: string[] | undefined;
|
|
301
296
|
deny?: string[] | undefined;
|
|
302
297
|
} | undefined;
|
|
303
298
|
credentials?: string[] | undefined;
|
|
299
|
+
url?: string | undefined;
|
|
300
|
+
env?: Record<string, string> | undefined;
|
|
301
|
+
command?: string | undefined;
|
|
302
|
+
args?: string[] | undefined;
|
|
303
|
+
package?: string | undefined;
|
|
304
304
|
}>, "many">>>;
|
|
305
305
|
skills: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
306
306
|
name: z.ZodString;
|
|
@@ -359,6 +359,11 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
359
359
|
}[], unknown>;
|
|
360
360
|
baseImage: z.ZodOptional<z.ZodString>;
|
|
361
361
|
}, "strip", z.ZodTypeAny, {
|
|
362
|
+
mounts: {
|
|
363
|
+
source: string;
|
|
364
|
+
target: string;
|
|
365
|
+
readonly: boolean;
|
|
366
|
+
}[];
|
|
362
367
|
packages: {
|
|
363
368
|
apt: string[];
|
|
364
369
|
npm: string[];
|
|
@@ -367,17 +372,12 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
367
372
|
ignore: {
|
|
368
373
|
paths: string[];
|
|
369
374
|
};
|
|
370
|
-
mounts: {
|
|
371
|
-
source: string;
|
|
372
|
-
target: string;
|
|
373
|
-
readonly: boolean;
|
|
374
|
-
}[];
|
|
375
375
|
baseImage?: string | undefined;
|
|
376
376
|
}, {
|
|
377
|
-
packages?: unknown;
|
|
378
|
-
ignore?: unknown;
|
|
379
377
|
mounts?: unknown;
|
|
380
378
|
baseImage?: string | undefined;
|
|
379
|
+
packages?: unknown;
|
|
380
|
+
ignore?: unknown;
|
|
381
381
|
}>>>;
|
|
382
382
|
governance: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
383
383
|
risk: z.ZodDefault<z.ZodOptional<z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>>>;
|
|
@@ -438,43 +438,48 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
438
438
|
}>;
|
|
439
439
|
}, "strip", z.ZodTypeAny, {
|
|
440
440
|
type: "project" | "supervisor";
|
|
441
|
-
source: {
|
|
442
|
-
type: "package" | "local";
|
|
443
|
-
path?: string | undefined;
|
|
444
|
-
agentDialect?: string | undefined;
|
|
445
|
-
packageName?: string | undefined;
|
|
446
|
-
};
|
|
447
|
-
metadata: {
|
|
448
|
-
name: string;
|
|
449
|
-
description: string;
|
|
450
|
-
version?: string | undefined;
|
|
451
|
-
scope?: string | undefined;
|
|
452
|
-
};
|
|
453
|
-
instructions: string;
|
|
454
|
-
tasks: {
|
|
455
|
-
name: string;
|
|
456
|
-
ref?: string | undefined;
|
|
457
|
-
}[];
|
|
458
441
|
apps: {
|
|
459
|
-
name: string;
|
|
460
|
-
env: Record<string, string>;
|
|
461
442
|
tools: {
|
|
462
443
|
allow: string[];
|
|
463
444
|
deny: string[];
|
|
464
445
|
};
|
|
465
446
|
credentials: string[];
|
|
466
|
-
|
|
447
|
+
env: Record<string, string>;
|
|
448
|
+
name: string;
|
|
467
449
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
450
|
+
url?: string | undefined;
|
|
468
451
|
command?: string | undefined;
|
|
469
452
|
args?: string[] | undefined;
|
|
470
|
-
|
|
453
|
+
package?: string | undefined;
|
|
471
454
|
}[];
|
|
472
455
|
skills: {
|
|
473
456
|
name: string;
|
|
474
457
|
ref?: string | undefined;
|
|
475
458
|
}[];
|
|
459
|
+
tasks: {
|
|
460
|
+
name: string;
|
|
461
|
+
ref?: string | undefined;
|
|
462
|
+
}[];
|
|
463
|
+
source: {
|
|
464
|
+
type: "package" | "local";
|
|
465
|
+
path?: string | undefined;
|
|
466
|
+
agentDialect?: string | undefined;
|
|
467
|
+
packageName?: string | undefined;
|
|
468
|
+
};
|
|
469
|
+
metadata: {
|
|
470
|
+
description: string;
|
|
471
|
+
name: string;
|
|
472
|
+
version?: string | undefined;
|
|
473
|
+
scope?: string | undefined;
|
|
474
|
+
};
|
|
475
|
+
instructions: string;
|
|
476
476
|
sources: string[];
|
|
477
477
|
container: {
|
|
478
|
+
mounts: {
|
|
479
|
+
source: string;
|
|
480
|
+
target: string;
|
|
481
|
+
readonly: boolean;
|
|
482
|
+
}[];
|
|
478
483
|
packages: {
|
|
479
484
|
apt: string[];
|
|
480
485
|
npm: string[];
|
|
@@ -483,11 +488,6 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
483
488
|
ignore: {
|
|
484
489
|
paths: string[];
|
|
485
490
|
};
|
|
486
|
-
mounts: {
|
|
487
|
-
source: string;
|
|
488
|
-
target: string;
|
|
489
|
-
readonly: boolean;
|
|
490
|
-
}[];
|
|
491
491
|
baseImage?: string | undefined;
|
|
492
492
|
};
|
|
493
493
|
governance: {
|
|
@@ -511,41 +511,41 @@ export declare const roleSchema: z.ZodObject<{
|
|
|
511
511
|
packageName?: string | undefined;
|
|
512
512
|
};
|
|
513
513
|
metadata: {
|
|
514
|
-
name: string;
|
|
515
514
|
description: string;
|
|
515
|
+
name: string;
|
|
516
516
|
version?: string | undefined;
|
|
517
517
|
scope?: string | undefined;
|
|
518
518
|
};
|
|
519
519
|
instructions: string;
|
|
520
520
|
type?: "project" | "supervisor" | undefined;
|
|
521
|
-
tasks?: {
|
|
522
|
-
name: string;
|
|
523
|
-
ref?: string | undefined;
|
|
524
|
-
}[] | undefined;
|
|
525
521
|
apps?: {
|
|
526
522
|
name: string;
|
|
527
|
-
package?: string | undefined;
|
|
528
523
|
transport?: "stdio" | "sse" | "streamable-http" | undefined;
|
|
529
|
-
command?: string | undefined;
|
|
530
|
-
args?: string[] | undefined;
|
|
531
|
-
url?: string | undefined;
|
|
532
|
-
env?: Record<string, string> | undefined;
|
|
533
524
|
tools?: {
|
|
534
525
|
allow?: string[] | undefined;
|
|
535
526
|
deny?: string[] | undefined;
|
|
536
527
|
} | undefined;
|
|
537
528
|
credentials?: string[] | undefined;
|
|
529
|
+
url?: string | undefined;
|
|
530
|
+
env?: Record<string, string> | undefined;
|
|
531
|
+
command?: string | undefined;
|
|
532
|
+
args?: string[] | undefined;
|
|
533
|
+
package?: string | undefined;
|
|
538
534
|
}[] | undefined;
|
|
539
535
|
skills?: {
|
|
540
536
|
name: string;
|
|
541
537
|
ref?: string | undefined;
|
|
542
538
|
}[] | undefined;
|
|
539
|
+
tasks?: {
|
|
540
|
+
name: string;
|
|
541
|
+
ref?: string | undefined;
|
|
542
|
+
}[] | undefined;
|
|
543
543
|
sources?: string[] | undefined;
|
|
544
544
|
container?: {
|
|
545
|
-
packages?: unknown;
|
|
546
|
-
ignore?: unknown;
|
|
547
545
|
mounts?: unknown;
|
|
548
546
|
baseImage?: string | undefined;
|
|
547
|
+
packages?: unknown;
|
|
548
|
+
ignore?: unknown;
|
|
549
549
|
} | undefined;
|
|
550
550
|
governance?: {
|
|
551
551
|
credentials?: string[] | undefined;
|