@agimon-ai/po-team 0.0.0-alpha.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/LICENSE +25 -0
- package/README.md +156 -0
- package/dist/agentDiscovery-Whwzc4dP.cjs +1637 -0
- package/dist/agentDiscovery-Whwzc4dP.cjs.map +1 -0
- package/dist/agentDiscovery-ZQlFkKvB.mjs +1529 -0
- package/dist/agentDiscovery-ZQlFkKvB.mjs.map +1 -0
- package/dist/apiContracts.cjs +162 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +53 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +157 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/atomicJson-D0346bt5.cjs +178 -0
- package/dist/atomicJson-D0346bt5.cjs.map +1 -0
- package/dist/atomicJson-D2t0CDh9.mjs +137 -0
- package/dist/atomicJson-D2t0CDh9.mjs.map +1 -0
- package/dist/capabilityCeiling-C-Y7H8oC.cjs +191 -0
- package/dist/capabilityCeiling-C-Y7H8oC.cjs.map +1 -0
- package/dist/capabilityCeiling-CF7kAS18.mjs +156 -0
- package/dist/capabilityCeiling-CF7kAS18.mjs.map +1 -0
- package/dist/capabilityCeiling.cjs +10 -0
- package/dist/capabilityCeiling.d.mts +46 -0
- package/dist/capabilityCeiling.d.mts.map +1 -0
- package/dist/capabilityCeiling.mjs +3 -0
- package/dist/delegation.cjs +49 -0
- package/dist/delegation.cjs.map +1 -0
- package/dist/delegation.d.mts +269 -0
- package/dist/delegation.d.mts.map +1 -0
- package/dist/delegation.mjs +34 -0
- package/dist/delegation.mjs.map +1 -0
- package/dist/delegationApi.cjs +92 -0
- package/dist/delegationApi.d.mts +2 -0
- package/dist/delegationApi.mjs +2 -0
- package/dist/env.cjs +62 -0
- package/dist/env.d.mts +2 -0
- package/dist/env.mjs +2 -0
- package/dist/environment-CaCW3SgT.cjs +320 -0
- package/dist/environment-CaCW3SgT.cjs.map +1 -0
- package/dist/environment-DrqhrxG_.mjs +75 -0
- package/dist/environment-DrqhrxG_.mjs.map +1 -0
- package/dist/environment-ma5oQ7uM.d.mts +63 -0
- package/dist/environment-ma5oQ7uM.d.mts.map +1 -0
- package/dist/extensions/server.cjs +6940 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +6932 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/web.mjs +2308 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/externalProcessIpc-C-15lJrB.mjs +584 -0
- package/dist/externalProcessIpc-C-15lJrB.mjs.map +1 -0
- package/dist/externalProcessIpc-ojE0pvw0.cjs +690 -0
- package/dist/externalProcessIpc-ojE0pvw0.cjs.map +1 -0
- package/dist/fablePlan.cjs +17 -0
- package/dist/fablePlan.d.mts +2 -0
- package/dist/fablePlan.mjs +2 -0
- package/dist/fablePlanApi-BsHhgVFV.mjs +118 -0
- package/dist/fablePlanApi-BsHhgVFV.mjs.map +1 -0
- package/dist/fablePlanApi-CZ3uUcMi.d.mts +97 -0
- package/dist/fablePlanApi-CZ3uUcMi.d.mts.map +1 -0
- package/dist/fablePlanApi-wBu9bRXU.cjs +207 -0
- package/dist/fablePlanApi-wBu9bRXU.cjs.map +1 -0
- package/dist/fablePlanApi.cjs +17 -0
- package/dist/fablePlanApi.d.mts +2 -0
- package/dist/fablePlanApi.mjs +2 -0
- package/dist/index.cjs +49 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +160 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +45 -0
- package/dist/index.mjs.map +1 -0
- package/dist/runs/background/cliRunnerEntry.cjs +539 -0
- package/dist/runs/background/cliRunnerEntry.cjs.map +1 -0
- package/dist/runs/background/cliRunnerEntry.d.mts +1 -0
- package/dist/runs/background/cliRunnerEntry.mjs +537 -0
- package/dist/runs/background/cliRunnerEntry.mjs.map +1 -0
- package/dist/runtimeSubagentPolicy.cjs +5 -0
- package/dist/runtimeSubagentPolicy.d.mts +2 -0
- package/dist/runtimeSubagentPolicy.mjs +2 -0
- package/dist/runtimeSubagentTool.cjs +11 -0
- package/dist/runtimeSubagentTool.d.mts +2 -0
- package/dist/runtimeSubagentTool.mjs +2 -0
- package/dist/subagentPolicy-ALJam4GN.d.mts +33 -0
- package/dist/subagentPolicy-ALJam4GN.d.mts.map +1 -0
- package/dist/subagentPolicy-DQRyKDH-.cjs +39 -0
- package/dist/subagentPolicy-DQRyKDH-.cjs.map +1 -0
- package/dist/subagentPolicy-DxjsKeyj.mjs +22 -0
- package/dist/subagentPolicy-DxjsKeyj.mjs.map +1 -0
- package/dist/subagentPolicy.cjs +5 -0
- package/dist/subagentPolicy.d.mts +2 -0
- package/dist/subagentPolicy.mjs +2 -0
- package/dist/subagentTool-BTssGLw8.d.mts +103 -0
- package/dist/subagentTool-BTssGLw8.d.mts.map +1 -0
- package/dist/subagentTool-Ca2zQXKw.cjs +227 -0
- package/dist/subagentTool-Ca2zQXKw.cjs.map +1 -0
- package/dist/subagentTool-WOYrjxgT.mjs +186 -0
- package/dist/subagentTool-WOYrjxgT.mjs.map +1 -0
- package/dist/subagentTool.cjs +10 -0
- package/dist/subagentTool.d.mts +2 -0
- package/dist/subagentTool.mjs +2 -0
- package/dist/teamSnapshot-DgaANhBs.mjs +24 -0
- package/dist/teamSnapshot-DgaANhBs.mjs.map +1 -0
- package/dist/teamSnapshot-oKuGFdYc.cjs +35 -0
- package/dist/teamSnapshot-oKuGFdYc.cjs.map +1 -0
- package/dist/teamSnapshot.cjs +4 -0
- package/dist/teamSnapshot.d.mts +59 -0
- package/dist/teamSnapshot.d.mts.map +1 -0
- package/dist/teamSnapshot.mjs +2 -0
- package/package.json +201 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Static, Type } from "typebox";
|
|
2
|
+
import { Context } from "@deepseek-ai/cordis";
|
|
3
|
+
//#region src/schemas/subagentPolicy.d.ts
|
|
4
|
+
/** Team-owned Cordis service for session-scoped subagent policy contributions. */
|
|
5
|
+
declare const DOOM_SUBAGENT_POLICY_SERVICE = "doom/subagent-policy";
|
|
6
|
+
declare const SubagentPolicySchema: Type.TObject<{
|
|
7
|
+
owner: Type.TString;
|
|
8
|
+
allowedTools: Type.TOptional<Type.TArray<Type.TString>>;
|
|
9
|
+
requiredTools: Type.TOptional<Type.TArray<Type.TString>>;
|
|
10
|
+
allowMcpTools: Type.TOptional<Type.TBoolean>;
|
|
11
|
+
allowedExternalProfiles: Type.TOptional<Type.TArray<Type.TString>>;
|
|
12
|
+
denyExtensions: Type.TOptional<Type.TBoolean>;
|
|
13
|
+
}>;
|
|
14
|
+
type SubagentPolicy = Static<typeof SubagentPolicySchema>;
|
|
15
|
+
interface SubagentPolicyHandle {
|
|
16
|
+
readonly owner: string;
|
|
17
|
+
readonly generation: string;
|
|
18
|
+
update(policy: SubagentPolicy): void;
|
|
19
|
+
dispose(): void;
|
|
20
|
+
}
|
|
21
|
+
interface DoomSubagentPolicyService {
|
|
22
|
+
readonly generation: string;
|
|
23
|
+
register(policy: SubagentPolicy): SubagentPolicyHandle;
|
|
24
|
+
}
|
|
25
|
+
declare module '@deepseek-ai/cordis' {
|
|
26
|
+
interface Context {
|
|
27
|
+
'doom/subagent-policy': DoomSubagentPolicyService;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
declare function readDoomSubagentPolicyService(ctx: Context): DoomSubagentPolicyService | undefined;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { SubagentPolicySchema as a, SubagentPolicyHandle as i, DoomSubagentPolicyService as n, readDoomSubagentPolicyService as o, SubagentPolicy as r, DOOM_SUBAGENT_POLICY_SERVICE as t };
|
|
33
|
+
//# sourceMappingURL=subagentPolicy-ALJam4GN.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentPolicy-ALJam4GN.d.mts","names":[],"sources":["../src/schemas/subagentPolicy.ts"],"mappings":";;;;cAIa;cAEA,sBAAoB,KAAA;;;;;;;;KAWrB,iBAAiB,cAAc;UAE1B;WACN;WACA;EACT,OAAO,QAAQ;EACf;;UAGe;WACN;EACT,SAAS,QAAQ,iBAAiB;;;YAIxB;IACR,wBAAwB;;;iBAIZ,8BAA8B,KAAK,UAAU"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
let typebox = require("typebox");
|
|
2
|
+
//#region src/schemas/subagentPolicy.ts
|
|
3
|
+
/** Team-owned Cordis service for session-scoped subagent policy contributions. */
|
|
4
|
+
const DOOM_SUBAGENT_POLICY_SERVICE = "doom/subagent-policy";
|
|
5
|
+
const SubagentPolicySchema = typebox.Type.Object({
|
|
6
|
+
owner: typebox.Type.String({ minLength: 1 }),
|
|
7
|
+
allowedTools: typebox.Type.Optional(typebox.Type.Array(typebox.Type.String({ minLength: 1 }))),
|
|
8
|
+
requiredTools: typebox.Type.Optional(typebox.Type.Array(typebox.Type.String({ minLength: 1 }))),
|
|
9
|
+
allowMcpTools: typebox.Type.Optional(typebox.Type.Boolean()),
|
|
10
|
+
allowedExternalProfiles: typebox.Type.Optional(typebox.Type.Array(typebox.Type.String({
|
|
11
|
+
minLength: 1,
|
|
12
|
+
maxLength: 128
|
|
13
|
+
}))),
|
|
14
|
+
denyExtensions: typebox.Type.Optional(typebox.Type.Boolean())
|
|
15
|
+
}, { additionalProperties: false });
|
|
16
|
+
function readDoomSubagentPolicyService(ctx) {
|
|
17
|
+
return ctx.get(DOOM_SUBAGENT_POLICY_SERVICE);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
Object.defineProperty(exports, "DOOM_SUBAGENT_POLICY_SERVICE", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function() {
|
|
23
|
+
return DOOM_SUBAGENT_POLICY_SERVICE;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "SubagentPolicySchema", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function() {
|
|
29
|
+
return SubagentPolicySchema;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "readDoomSubagentPolicyService", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function() {
|
|
35
|
+
return readDoomSubagentPolicyService;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=subagentPolicy-DQRyKDH-.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentPolicy-DQRyKDH-.cjs","names":["Type"],"sources":["../src/schemas/subagentPolicy.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport { type Static, Type } from 'typebox';\n\n/** Team-owned Cordis service for session-scoped subagent policy contributions. */\nexport const DOOM_SUBAGENT_POLICY_SERVICE = 'doom/subagent-policy';\n\nexport const SubagentPolicySchema = Type.Object(\n {\n owner: Type.String({ minLength: 1 }),\n allowedTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n requiredTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n allowMcpTools: Type.Optional(Type.Boolean()),\n allowedExternalProfiles: Type.Optional(Type.Array(Type.String({ minLength: 1, maxLength: 128 }))),\n denyExtensions: Type.Optional(Type.Boolean()),\n },\n { additionalProperties: false },\n);\nexport type SubagentPolicy = Static<typeof SubagentPolicySchema>;\n\nexport interface SubagentPolicyHandle {\n readonly owner: string;\n readonly generation: string;\n update(policy: SubagentPolicy): void;\n dispose(): void;\n}\n\nexport interface DoomSubagentPolicyService {\n readonly generation: string;\n register(policy: SubagentPolicy): SubagentPolicyHandle;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/subagent-policy': DoomSubagentPolicyService;\n }\n}\n\nexport function readDoomSubagentPolicyService(ctx: Context): DoomSubagentPolicyService | undefined {\n return ctx.get(DOOM_SUBAGENT_POLICY_SERVICE) as DoomSubagentPolicyService | undefined;\n}\n"],"mappings":";;;AAIA,MAAa,+BAA+B;AAE5C,MAAa,uBAAuBA,QAAAA,KAAK,OACvC;CACE,OAAOA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CACnC,cAAcA,QAAAA,KAAK,SAASA,QAAAA,KAAK,MAAMA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;CACrE,eAAeA,QAAAA,KAAK,SAASA,QAAAA,KAAK,MAAMA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;CACtE,eAAeA,QAAAA,KAAK,SAASA,QAAAA,KAAK,QAAQ,CAAC;CAC3C,yBAAyBA,QAAAA,KAAK,SAASA,QAAAA,KAAK,MAAMA,QAAAA,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAI,CAAC,CAAC,CAAC;CAChG,gBAAgBA,QAAAA,KAAK,SAASA,QAAAA,KAAK,QAAQ,CAAC;AAC9C,GACA,EAAE,sBAAsB,MAAM,CAChC;AAqBA,SAAgB,8BAA8B,KAAqD;CACjG,OAAO,IAAI,IAAI,4BAA4B;AAC7C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Type } from "typebox";
|
|
2
|
+
//#region src/schemas/subagentPolicy.ts
|
|
3
|
+
/** Team-owned Cordis service for session-scoped subagent policy contributions. */
|
|
4
|
+
const DOOM_SUBAGENT_POLICY_SERVICE = "doom/subagent-policy";
|
|
5
|
+
const SubagentPolicySchema = Type.Object({
|
|
6
|
+
owner: Type.String({ minLength: 1 }),
|
|
7
|
+
allowedTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),
|
|
8
|
+
requiredTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),
|
|
9
|
+
allowMcpTools: Type.Optional(Type.Boolean()),
|
|
10
|
+
allowedExternalProfiles: Type.Optional(Type.Array(Type.String({
|
|
11
|
+
minLength: 1,
|
|
12
|
+
maxLength: 128
|
|
13
|
+
}))),
|
|
14
|
+
denyExtensions: Type.Optional(Type.Boolean())
|
|
15
|
+
}, { additionalProperties: false });
|
|
16
|
+
function readDoomSubagentPolicyService(ctx) {
|
|
17
|
+
return ctx.get(DOOM_SUBAGENT_POLICY_SERVICE);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SubagentPolicySchema as n, readDoomSubagentPolicyService as r, DOOM_SUBAGENT_POLICY_SERVICE as t };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=subagentPolicy-DxjsKeyj.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentPolicy-DxjsKeyj.mjs","names":[],"sources":["../src/schemas/subagentPolicy.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport { type Static, Type } from 'typebox';\n\n/** Team-owned Cordis service for session-scoped subagent policy contributions. */\nexport const DOOM_SUBAGENT_POLICY_SERVICE = 'doom/subagent-policy';\n\nexport const SubagentPolicySchema = Type.Object(\n {\n owner: Type.String({ minLength: 1 }),\n allowedTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n requiredTools: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),\n allowMcpTools: Type.Optional(Type.Boolean()),\n allowedExternalProfiles: Type.Optional(Type.Array(Type.String({ minLength: 1, maxLength: 128 }))),\n denyExtensions: Type.Optional(Type.Boolean()),\n },\n { additionalProperties: false },\n);\nexport type SubagentPolicy = Static<typeof SubagentPolicySchema>;\n\nexport interface SubagentPolicyHandle {\n readonly owner: string;\n readonly generation: string;\n update(policy: SubagentPolicy): void;\n dispose(): void;\n}\n\nexport interface DoomSubagentPolicyService {\n readonly generation: string;\n register(policy: SubagentPolicy): SubagentPolicyHandle;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/subagent-policy': DoomSubagentPolicyService;\n }\n}\n\nexport function readDoomSubagentPolicyService(ctx: Context): DoomSubagentPolicyService | undefined {\n return ctx.get(DOOM_SUBAGENT_POLICY_SERVICE) as DoomSubagentPolicyService | undefined;\n}\n"],"mappings":";;;AAIA,MAAa,+BAA+B;AAE5C,MAAa,uBAAuB,KAAK,OACvC;CACE,OAAO,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CACnC,cAAc,KAAK,SAAS,KAAK,MAAM,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;CACrE,eAAe,KAAK,SAAS,KAAK,MAAM,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;CACtE,eAAe,KAAK,SAAS,KAAK,QAAQ,CAAC;CAC3C,yBAAyB,KAAK,SAAS,KAAK,MAAM,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAI,CAAC,CAAC,CAAC;CAChG,gBAAgB,KAAK,SAAS,KAAK,QAAQ,CAAC;AAC9C,GACA,EAAE,sBAAsB,MAAM,CAChC;AAqBA,SAAgB,8BAA8B,KAAqD;CACjG,OAAO,IAAI,IAAI,4BAA4B;AAC7C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_subagentPolicy = require("./subagentPolicy-DQRyKDH-.cjs");
|
|
3
|
+
exports.DOOM_SUBAGENT_POLICY_SERVICE = require_subagentPolicy.DOOM_SUBAGENT_POLICY_SERVICE;
|
|
4
|
+
exports.SubagentPolicySchema = require_subagentPolicy.SubagentPolicySchema;
|
|
5
|
+
exports.readDoomSubagentPolicyService = require_subagentPolicy.readDoomSubagentPolicyService;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as SubagentPolicySchema, i as SubagentPolicyHandle, n as DoomSubagentPolicyService, o as readDoomSubagentPolicyService, r as SubagentPolicy, t as DOOM_SUBAGENT_POLICY_SERVICE } from "./subagentPolicy-ALJam4GN.mjs";
|
|
2
|
+
export { DOOM_SUBAGENT_POLICY_SERVICE, type DoomSubagentPolicyService, type SubagentPolicy, type SubagentPolicyHandle, SubagentPolicySchema, readDoomSubagentPolicyService };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { InlineAgent, InlineAgentSchema } from "@agimon-ai/po-core/delegation";
|
|
2
|
+
import { Static, Type } from "typebox";
|
|
3
|
+
//#region src/schemas/subagentTool.d.ts
|
|
4
|
+
declare const SUBAGENT_ACTIONS: {
|
|
5
|
+
readonly agents: 'agents';
|
|
6
|
+
readonly run: 'run';
|
|
7
|
+
readonly status: 'status';
|
|
8
|
+
readonly steer: 'steer';
|
|
9
|
+
readonly stop: 'stop';
|
|
10
|
+
readonly suspended: 'suspended';
|
|
11
|
+
readonly restore: 'restore';
|
|
12
|
+
};
|
|
13
|
+
type SubagentAction = (typeof SUBAGENT_ACTIONS)[keyof typeof SUBAGENT_ACTIONS];
|
|
14
|
+
declare const SUBAGENT_ACTION_FIELDS: {
|
|
15
|
+
readonly agents: readonly ["action", "name", "cwd", "scope"];
|
|
16
|
+
readonly run: readonly ["action", "requests", "concurrency", "artifacts", "scope"];
|
|
17
|
+
readonly status: readonly ["action", "id", "transcriptLines"];
|
|
18
|
+
readonly steer: readonly ["action", "id", "message"];
|
|
19
|
+
readonly stop: readonly ["action", "id", "reason"];
|
|
20
|
+
readonly suspended: readonly ["action"];
|
|
21
|
+
readonly restore: readonly ["action", "id"];
|
|
22
|
+
};
|
|
23
|
+
declare function isSubagentAction(value: unknown): value is SubagentAction;
|
|
24
|
+
declare function subagentActionAcceptsField(action: SubagentAction, field: string): boolean;
|
|
25
|
+
/** Remove the one legacy field emitted by Doom Plan before strict validation. */
|
|
26
|
+
declare function normalizeSubagentToolParams(input: unknown): unknown;
|
|
27
|
+
declare const SubagentParams: Type.TUnion<[Type.TObject<{
|
|
28
|
+
action: Type.TLiteral<"agents">;
|
|
29
|
+
name: Type.TOptional<Type.TString>;
|
|
30
|
+
cwd: Type.TOptional<Type.TString>;
|
|
31
|
+
scope: Type.TOptional<Type.TUnion<[Type.TLiteral<"user">, Type.TLiteral<"project">, Type.TLiteral<"both">]>>;
|
|
32
|
+
}>, Type.TObject<{
|
|
33
|
+
action: Type.TLiteral<"run">;
|
|
34
|
+
requests: Type.TArray<Type.TObject<{
|
|
35
|
+
agent: Type.TString;
|
|
36
|
+
inlineAgent: Type.TOptional<Type.TObject<{
|
|
37
|
+
systemPrompt: Type.TString;
|
|
38
|
+
}>>;
|
|
39
|
+
task: Type.TString;
|
|
40
|
+
cwd: Type.TOptional<Type.TString>;
|
|
41
|
+
model: Type.TOptional<Type.TString>;
|
|
42
|
+
runtime: Type.TOptional<Type.TString>;
|
|
43
|
+
}>>;
|
|
44
|
+
concurrency: Type.TOptional<Type.TInteger>;
|
|
45
|
+
artifacts: Type.TOptional<Type.TBoolean>;
|
|
46
|
+
scope: Type.TOptional<Type.TUnion<[Type.TLiteral<"user">, Type.TLiteral<"project">, Type.TLiteral<"both">]>>;
|
|
47
|
+
}>, Type.TObject<{
|
|
48
|
+
action: Type.TLiteral<"status">;
|
|
49
|
+
}>, Type.TObject<{
|
|
50
|
+
action: Type.TLiteral<"status">;
|
|
51
|
+
id: Type.TString;
|
|
52
|
+
transcriptLines: Type.TOptional<Type.TInteger>;
|
|
53
|
+
}>, Type.TObject<{
|
|
54
|
+
action: Type.TLiteral<"steer">;
|
|
55
|
+
id: Type.TString;
|
|
56
|
+
message: Type.TString;
|
|
57
|
+
}>, Type.TObject<{
|
|
58
|
+
action: Type.TLiteral<"stop">;
|
|
59
|
+
id: Type.TString;
|
|
60
|
+
reason: Type.TOptional<Type.TString>;
|
|
61
|
+
}>, Type.TObject<{
|
|
62
|
+
action: Type.TLiteral<"suspended">;
|
|
63
|
+
}>, Type.TObject<{
|
|
64
|
+
action: Type.TLiteral<"restore">;
|
|
65
|
+
id: Type.TString;
|
|
66
|
+
}>]>;
|
|
67
|
+
/**
|
|
68
|
+
* The schema declared to the model.
|
|
69
|
+
*
|
|
70
|
+
* A flat object rather than `SubagentParams` itself. A top-level union is
|
|
71
|
+
* `{anyOf:[...]}` with no `properties`, and Pi's Anthropic Messages adapter
|
|
72
|
+
* rebuilds tool input as `{type:'object', properties: schema.properties ?? {},
|
|
73
|
+
* required: schema.required ?? []}`, so the union arrived at the model as an
|
|
74
|
+
* empty object while the host went on validating calls against it. Nothing here
|
|
75
|
+
* relaxes what is accepted: `validateParams` still rejects an unknown action, a
|
|
76
|
+
* field the action does not take, and a missing required one.
|
|
77
|
+
*/
|
|
78
|
+
declare const SubagentToolSchema: Type.TObject<{
|
|
79
|
+
action: Type.TString;
|
|
80
|
+
name: Type.TOptional<Type.TString>;
|
|
81
|
+
cwd: Type.TOptional<Type.TString>;
|
|
82
|
+
scope: Type.TOptional<Type.TString>;
|
|
83
|
+
requests: Type.TOptional<Type.TArray<Type.TObject<{
|
|
84
|
+
agent: Type.TString;
|
|
85
|
+
inlineAgent: Type.TOptional<Type.TObject<{
|
|
86
|
+
systemPrompt: Type.TString;
|
|
87
|
+
}>>;
|
|
88
|
+
task: Type.TString;
|
|
89
|
+
cwd: Type.TOptional<Type.TString>;
|
|
90
|
+
model: Type.TOptional<Type.TString>;
|
|
91
|
+
runtime: Type.TOptional<Type.TString>;
|
|
92
|
+
}>>>;
|
|
93
|
+
concurrency: Type.TOptional<Type.TInteger>;
|
|
94
|
+
artifacts: Type.TOptional<Type.TBoolean>;
|
|
95
|
+
id: Type.TOptional<Type.TString>;
|
|
96
|
+
transcriptLines: Type.TOptional<Type.TInteger>;
|
|
97
|
+
message: Type.TOptional<Type.TString>;
|
|
98
|
+
reason: Type.TOptional<Type.TString>;
|
|
99
|
+
}>;
|
|
100
|
+
type SubagentToolParams = Static<typeof SubagentParams>;
|
|
101
|
+
//#endregion
|
|
102
|
+
export { SubagentAction as a, SubagentToolSchema as c, subagentActionAcceptsField as d, SUBAGENT_ACTION_FIELDS as i, isSubagentAction as l, InlineAgentSchema as n, SubagentParams as o, SUBAGENT_ACTIONS as r, SubagentToolParams as s, InlineAgent as t, normalizeSubagentToolParams as u };
|
|
103
|
+
//# sourceMappingURL=subagentTool-BTssGLw8.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentTool-BTssGLw8.d.mts","names":[],"sources":["../src/schemas/subagentTool.ts"],"mappings":";;;cAMa;WACX;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,yBAAyB,+BAA+B;cAEvD;;;;;;;;;iBAYG,iBAAiB,iBAAiB,SAAS;iBAI3C,2BAA2B,QAAQ,gBAAgB;;iBAKnD,4BAA4B;cA0F/B,gBAAc,KAAA,QAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Bd,oBAAkB,KAAA;;;;;;;;;;;;;;;;;;;;;;KAsDnB,qBAAqB,cAAc"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
let _agimon_ai_po_core_delegation = require("@agimon-ai/po-core/delegation");
|
|
2
|
+
let typebox = require("typebox");
|
|
3
|
+
//#region src/schemas/subagentTool.ts
|
|
4
|
+
const SUBAGENT_ACTIONS = {
|
|
5
|
+
agents: "agents",
|
|
6
|
+
run: "run",
|
|
7
|
+
status: "status",
|
|
8
|
+
steer: "steer",
|
|
9
|
+
stop: "stop",
|
|
10
|
+
suspended: "suspended",
|
|
11
|
+
restore: "restore"
|
|
12
|
+
};
|
|
13
|
+
const SUBAGENT_ACTION_FIELDS = {
|
|
14
|
+
agents: [
|
|
15
|
+
"action",
|
|
16
|
+
"name",
|
|
17
|
+
"cwd",
|
|
18
|
+
"scope"
|
|
19
|
+
],
|
|
20
|
+
run: [
|
|
21
|
+
"action",
|
|
22
|
+
"requests",
|
|
23
|
+
"concurrency",
|
|
24
|
+
"artifacts",
|
|
25
|
+
"scope"
|
|
26
|
+
],
|
|
27
|
+
status: [
|
|
28
|
+
"action",
|
|
29
|
+
"id",
|
|
30
|
+
"transcriptLines"
|
|
31
|
+
],
|
|
32
|
+
steer: [
|
|
33
|
+
"action",
|
|
34
|
+
"id",
|
|
35
|
+
"message"
|
|
36
|
+
],
|
|
37
|
+
stop: [
|
|
38
|
+
"action",
|
|
39
|
+
"id",
|
|
40
|
+
"reason"
|
|
41
|
+
],
|
|
42
|
+
suspended: ["action"],
|
|
43
|
+
restore: ["action", "id"]
|
|
44
|
+
};
|
|
45
|
+
const IMPLEMENTED_ACTIONS = new Set(Object.values(SUBAGENT_ACTIONS));
|
|
46
|
+
function isSubagentAction(value) {
|
|
47
|
+
return typeof value === "string" && IMPLEMENTED_ACTIONS.has(value);
|
|
48
|
+
}
|
|
49
|
+
function subagentActionAcceptsField(action, field) {
|
|
50
|
+
return SUBAGENT_ACTION_FIELDS[action].includes(field);
|
|
51
|
+
}
|
|
52
|
+
/** Remove the one legacy field emitted by Doom Plan before strict validation. */
|
|
53
|
+
function normalizeSubagentToolParams(input) {
|
|
54
|
+
if (!input || typeof input !== "object" || Array.isArray(input)) return input;
|
|
55
|
+
const record = input;
|
|
56
|
+
if (!isSubagentAction(record.action) || record.action === SUBAGENT_ACTIONS.run || typeof record.model !== "string") return input;
|
|
57
|
+
const { model: _model, ...normalized } = record;
|
|
58
|
+
return normalized;
|
|
59
|
+
}
|
|
60
|
+
const AgentScope = typebox.Type.Union([
|
|
61
|
+
typebox.Type.Literal("user"),
|
|
62
|
+
typebox.Type.Literal("project"),
|
|
63
|
+
typebox.Type.Literal("both")
|
|
64
|
+
]);
|
|
65
|
+
const RunRequest = typebox.Type.Object({
|
|
66
|
+
agent: typebox.Type.String({ minLength: 1 }),
|
|
67
|
+
inlineAgent: typebox.Type.Optional(_agimon_ai_po_core_delegation.InlineAgentSchema),
|
|
68
|
+
task: typebox.Type.String({ minLength: 1 }),
|
|
69
|
+
cwd: typebox.Type.Optional(typebox.Type.String({ minLength: 1 })),
|
|
70
|
+
model: typebox.Type.Optional(typebox.Type.String({ minLength: 1 })),
|
|
71
|
+
runtime: typebox.Type.Optional(typebox.Type.String({ minLength: 1 }))
|
|
72
|
+
}, { additionalProperties: false });
|
|
73
|
+
const AgentsParams = typebox.Type.Object({
|
|
74
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.agents),
|
|
75
|
+
name: typebox.Type.Optional(typebox.Type.String({ minLength: 1 })),
|
|
76
|
+
cwd: typebox.Type.Optional(typebox.Type.String({ minLength: 1 })),
|
|
77
|
+
scope: typebox.Type.Optional(AgentScope)
|
|
78
|
+
}, { additionalProperties: false });
|
|
79
|
+
const RunParams = typebox.Type.Object({
|
|
80
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.run),
|
|
81
|
+
requests: typebox.Type.Array(RunRequest, { minItems: 1 }),
|
|
82
|
+
concurrency: typebox.Type.Optional(typebox.Type.Integer({ minimum: 1 })),
|
|
83
|
+
artifacts: typebox.Type.Optional(typebox.Type.Boolean()),
|
|
84
|
+
scope: typebox.Type.Optional(AgentScope)
|
|
85
|
+
}, { additionalProperties: false });
|
|
86
|
+
const FleetStatusParams = typebox.Type.Object({ action: typebox.Type.Literal(SUBAGENT_ACTIONS.status) }, { additionalProperties: false });
|
|
87
|
+
const RunStatusParams = typebox.Type.Object({
|
|
88
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.status),
|
|
89
|
+
id: typebox.Type.String({ minLength: 1 }),
|
|
90
|
+
transcriptLines: typebox.Type.Optional(typebox.Type.Integer({
|
|
91
|
+
minimum: 1,
|
|
92
|
+
maximum: 500
|
|
93
|
+
}))
|
|
94
|
+
}, { additionalProperties: false });
|
|
95
|
+
const SteerParams = typebox.Type.Object({
|
|
96
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.steer),
|
|
97
|
+
id: typebox.Type.String({ minLength: 1 }),
|
|
98
|
+
message: typebox.Type.String({ minLength: 1 })
|
|
99
|
+
}, { additionalProperties: false });
|
|
100
|
+
const StopParams = typebox.Type.Object({
|
|
101
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.stop),
|
|
102
|
+
id: typebox.Type.String({ minLength: 1 }),
|
|
103
|
+
reason: typebox.Type.Optional(typebox.Type.String({ minLength: 1 }))
|
|
104
|
+
}, { additionalProperties: false });
|
|
105
|
+
const SuspendedParams = typebox.Type.Object({ action: typebox.Type.Literal(SUBAGENT_ACTIONS.suspended) }, { additionalProperties: false });
|
|
106
|
+
const RestoreParams = typebox.Type.Object({
|
|
107
|
+
action: typebox.Type.Literal(SUBAGENT_ACTIONS.restore),
|
|
108
|
+
id: typebox.Type.String({ minLength: 1 })
|
|
109
|
+
}, { additionalProperties: false });
|
|
110
|
+
const SubagentParams = typebox.Type.Union([
|
|
111
|
+
AgentsParams,
|
|
112
|
+
RunParams,
|
|
113
|
+
FleetStatusParams,
|
|
114
|
+
RunStatusParams,
|
|
115
|
+
SteerParams,
|
|
116
|
+
StopParams,
|
|
117
|
+
SuspendedParams,
|
|
118
|
+
RestoreParams
|
|
119
|
+
]);
|
|
120
|
+
/** The actions that accept `field`, so the declared docs cannot drift from the validator. */
|
|
121
|
+
function acceptingActions(field) {
|
|
122
|
+
return Object.values(SUBAGENT_ACTIONS).filter((action) => subagentActionAcceptsField(action, field)).join(", ");
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The schema declared to the model.
|
|
126
|
+
*
|
|
127
|
+
* A flat object rather than `SubagentParams` itself. A top-level union is
|
|
128
|
+
* `{anyOf:[...]}` with no `properties`, and Pi's Anthropic Messages adapter
|
|
129
|
+
* rebuilds tool input as `{type:'object', properties: schema.properties ?? {},
|
|
130
|
+
* required: schema.required ?? []}`, so the union arrived at the model as an
|
|
131
|
+
* empty object while the host went on validating calls against it. Nothing here
|
|
132
|
+
* relaxes what is accepted: `validateParams` still rejects an unknown action, a
|
|
133
|
+
* field the action does not take, and a missing required one.
|
|
134
|
+
*/
|
|
135
|
+
const SubagentToolSchema = typebox.Type.Object({
|
|
136
|
+
action: typebox.Type.String({
|
|
137
|
+
enum: Object.values(SUBAGENT_ACTIONS),
|
|
138
|
+
description: "The operation to run. Every other field is accepted only by the actions its description names."
|
|
139
|
+
}),
|
|
140
|
+
name: typebox.Type.Optional(typebox.Type.String({
|
|
141
|
+
minLength: 1,
|
|
142
|
+
description: `Exact agent name to inspect. Actions: ${acceptingActions("name")}.`
|
|
143
|
+
})),
|
|
144
|
+
cwd: typebox.Type.Optional(typebox.Type.String({
|
|
145
|
+
minLength: 1,
|
|
146
|
+
description: `Directory to discover agents in. Actions: ${acceptingActions("cwd")}.`
|
|
147
|
+
})),
|
|
148
|
+
scope: typebox.Type.Optional(typebox.Type.String({
|
|
149
|
+
enum: [
|
|
150
|
+
"user",
|
|
151
|
+
"project",
|
|
152
|
+
"both"
|
|
153
|
+
],
|
|
154
|
+
description: `Agent discovery scope. Actions: ${acceptingActions("scope")}.`
|
|
155
|
+
})),
|
|
156
|
+
requests: typebox.Type.Optional(typebox.Type.Array(RunRequest, {
|
|
157
|
+
minItems: 1,
|
|
158
|
+
description: `Runs to start, one entry each. Actions: ${acceptingActions("requests")}.`
|
|
159
|
+
})),
|
|
160
|
+
concurrency: typebox.Type.Optional(typebox.Type.Integer({
|
|
161
|
+
minimum: 1,
|
|
162
|
+
description: `Maximum runs started at once. Actions: ${acceptingActions("concurrency")}.`
|
|
163
|
+
})),
|
|
164
|
+
artifacts: typebox.Type.Optional(typebox.Type.Boolean({ description: `Collect run artifacts. Actions: ${acceptingActions("artifacts")}.` })),
|
|
165
|
+
id: typebox.Type.Optional(typebox.Type.String({
|
|
166
|
+
minLength: 1,
|
|
167
|
+
description: `Run id. Actions: ${acceptingActions("id")}.`
|
|
168
|
+
})),
|
|
169
|
+
transcriptLines: typebox.Type.Optional(typebox.Type.Integer({
|
|
170
|
+
minimum: 1,
|
|
171
|
+
maximum: 500,
|
|
172
|
+
description: `Transcript lines to include; valid only alongside id. Actions: ${acceptingActions("transcriptLines")}.`
|
|
173
|
+
})),
|
|
174
|
+
message: typebox.Type.Optional(typebox.Type.String({
|
|
175
|
+
minLength: 1,
|
|
176
|
+
description: `Guidance to deliver. Actions: ${acceptingActions("message")}.`
|
|
177
|
+
})),
|
|
178
|
+
reason: typebox.Type.Optional(typebox.Type.String({
|
|
179
|
+
minLength: 1,
|
|
180
|
+
description: `Why the run is stopping. Actions: ${acceptingActions("reason")}.`
|
|
181
|
+
}))
|
|
182
|
+
}, { additionalProperties: false });
|
|
183
|
+
//#endregion
|
|
184
|
+
Object.defineProperty(exports, "SUBAGENT_ACTIONS", {
|
|
185
|
+
enumerable: true,
|
|
186
|
+
get: function() {
|
|
187
|
+
return SUBAGENT_ACTIONS;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
Object.defineProperty(exports, "SUBAGENT_ACTION_FIELDS", {
|
|
191
|
+
enumerable: true,
|
|
192
|
+
get: function() {
|
|
193
|
+
return SUBAGENT_ACTION_FIELDS;
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
Object.defineProperty(exports, "SubagentParams", {
|
|
197
|
+
enumerable: true,
|
|
198
|
+
get: function() {
|
|
199
|
+
return SubagentParams;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
Object.defineProperty(exports, "SubagentToolSchema", {
|
|
203
|
+
enumerable: true,
|
|
204
|
+
get: function() {
|
|
205
|
+
return SubagentToolSchema;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
Object.defineProperty(exports, "isSubagentAction", {
|
|
209
|
+
enumerable: true,
|
|
210
|
+
get: function() {
|
|
211
|
+
return isSubagentAction;
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
Object.defineProperty(exports, "normalizeSubagentToolParams", {
|
|
215
|
+
enumerable: true,
|
|
216
|
+
get: function() {
|
|
217
|
+
return normalizeSubagentToolParams;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
Object.defineProperty(exports, "subagentActionAcceptsField", {
|
|
221
|
+
enumerable: true,
|
|
222
|
+
get: function() {
|
|
223
|
+
return subagentActionAcceptsField;
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
//# sourceMappingURL=subagentTool-Ca2zQXKw.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentTool-Ca2zQXKw.cjs","names":["Type","InlineAgentSchema"],"sources":["../src/schemas/subagentTool.ts"],"sourcesContent":["import { InlineAgentSchema, type InlineAgent } from '@agimon-ai/po-core/delegation';\nimport { type Static, Type } from 'typebox';\n\nexport { InlineAgentSchema };\nexport type { InlineAgent };\n\nexport const SUBAGENT_ACTIONS = {\n agents: 'agents',\n run: 'run',\n status: 'status',\n steer: 'steer',\n stop: 'stop',\n suspended: 'suspended',\n restore: 'restore',\n} as const;\n\nexport type SubagentAction = (typeof SUBAGENT_ACTIONS)[keyof typeof SUBAGENT_ACTIONS];\n\nexport const SUBAGENT_ACTION_FIELDS = {\n agents: ['action', 'name', 'cwd', 'scope'],\n run: ['action', 'requests', 'concurrency', 'artifacts', 'scope'],\n status: ['action', 'id', 'transcriptLines'],\n steer: ['action', 'id', 'message'],\n stop: ['action', 'id', 'reason'],\n suspended: ['action'],\n restore: ['action', 'id'],\n} as const satisfies Record<SubagentAction, readonly string[]>;\n\nconst IMPLEMENTED_ACTIONS: ReadonlySet<string> = new Set(Object.values(SUBAGENT_ACTIONS));\n\nexport function isSubagentAction(value: unknown): value is SubagentAction {\n return typeof value === 'string' && IMPLEMENTED_ACTIONS.has(value);\n}\n\nexport function subagentActionAcceptsField(action: SubagentAction, field: string): boolean {\n return (SUBAGENT_ACTION_FIELDS[action] as readonly string[]).includes(field);\n}\n\n/** Remove the one legacy field emitted by Doom Plan before strict validation. */\nexport function normalizeSubagentToolParams(input: unknown): unknown {\n if (!input || typeof input !== 'object' || Array.isArray(input)) return input;\n const record = input as Record<string, unknown>;\n if (!isSubagentAction(record.action) || record.action === SUBAGENT_ACTIONS.run || typeof record.model !== 'string') {\n return input;\n }\n const { model: _model, ...normalized } = record;\n return normalized;\n}\n\nconst AgentScope = Type.Union([Type.Literal('user'), Type.Literal('project'), Type.Literal('both')]);\n\nconst RunRequest = Type.Object(\n {\n agent: Type.String({ minLength: 1 }),\n inlineAgent: Type.Optional(InlineAgentSchema),\n task: Type.String({ minLength: 1 }),\n cwd: Type.Optional(Type.String({ minLength: 1 })),\n model: Type.Optional(Type.String({ minLength: 1 })),\n runtime: Type.Optional(Type.String({ minLength: 1 })),\n },\n { additionalProperties: false },\n);\n\nconst AgentsParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.agents),\n name: Type.Optional(Type.String({ minLength: 1 })),\n cwd: Type.Optional(Type.String({ minLength: 1 })),\n scope: Type.Optional(AgentScope),\n },\n { additionalProperties: false },\n);\n\nconst RunParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.run),\n requests: Type.Array(RunRequest, { minItems: 1 }),\n concurrency: Type.Optional(Type.Integer({ minimum: 1 })),\n artifacts: Type.Optional(Type.Boolean()),\n scope: Type.Optional(AgentScope),\n },\n { additionalProperties: false },\n);\n\nconst FleetStatusParams = Type.Object(\n { action: Type.Literal(SUBAGENT_ACTIONS.status) },\n { additionalProperties: false },\n);\n\nconst RunStatusParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.status),\n id: Type.String({ minLength: 1 }),\n transcriptLines: Type.Optional(Type.Integer({ minimum: 1, maximum: 500 })),\n },\n { additionalProperties: false },\n);\n\nconst SteerParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.steer),\n id: Type.String({ minLength: 1 }),\n message: Type.String({ minLength: 1 }),\n },\n { additionalProperties: false },\n);\n\nconst StopParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.stop),\n id: Type.String({ minLength: 1 }),\n reason: Type.Optional(Type.String({ minLength: 1 })),\n },\n { additionalProperties: false },\n);\n\nconst SuspendedParams = Type.Object(\n { action: Type.Literal(SUBAGENT_ACTIONS.suspended) },\n { additionalProperties: false },\n);\n\nconst RestoreParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.restore),\n id: Type.String({ minLength: 1 }),\n },\n { additionalProperties: false },\n);\n\nexport const SubagentParams = Type.Union([\n AgentsParams,\n RunParams,\n FleetStatusParams,\n RunStatusParams,\n SteerParams,\n StopParams,\n SuspendedParams,\n RestoreParams,\n]);\n\n/** The actions that accept `field`, so the declared docs cannot drift from the validator. */\nfunction acceptingActions(field: string): string {\n return Object.values(SUBAGENT_ACTIONS)\n .filter((action) => subagentActionAcceptsField(action, field))\n .join(', ');\n}\n\n/**\n * The schema declared to the model.\n *\n * A flat object rather than `SubagentParams` itself. A top-level union is\n * `{anyOf:[...]}` with no `properties`, and Pi's Anthropic Messages adapter\n * rebuilds tool input as `{type:'object', properties: schema.properties ?? {},\n * required: schema.required ?? []}`, so the union arrived at the model as an\n * empty object while the host went on validating calls against it. Nothing here\n * relaxes what is accepted: `validateParams` still rejects an unknown action, a\n * field the action does not take, and a missing required one.\n */\nexport const SubagentToolSchema = Type.Object(\n {\n action: Type.String({\n enum: Object.values(SUBAGENT_ACTIONS),\n description: 'The operation to run. Every other field is accepted only by the actions its description names.',\n }),\n name: Type.Optional(\n Type.String({ minLength: 1, description: `Exact agent name to inspect. Actions: ${acceptingActions('name')}.` }),\n ),\n cwd: Type.Optional(\n Type.String({\n minLength: 1,\n description: `Directory to discover agents in. Actions: ${acceptingActions('cwd')}.`,\n }),\n ),\n scope: Type.Optional(\n Type.String({\n enum: ['user', 'project', 'both'],\n description: `Agent discovery scope. Actions: ${acceptingActions('scope')}.`,\n }),\n ),\n requests: Type.Optional(\n Type.Array(RunRequest, {\n minItems: 1,\n description: `Runs to start, one entry each. Actions: ${acceptingActions('requests')}.`,\n }),\n ),\n concurrency: Type.Optional(\n Type.Integer({\n minimum: 1,\n description: `Maximum runs started at once. Actions: ${acceptingActions('concurrency')}.`,\n }),\n ),\n artifacts: Type.Optional(\n Type.Boolean({ description: `Collect run artifacts. Actions: ${acceptingActions('artifacts')}.` }),\n ),\n id: Type.Optional(Type.String({ minLength: 1, description: `Run id. Actions: ${acceptingActions('id')}.` })),\n transcriptLines: Type.Optional(\n Type.Integer({\n minimum: 1,\n maximum: 500,\n description: `Transcript lines to include; valid only alongside id. Actions: ${acceptingActions('transcriptLines')}.`,\n }),\n ),\n message: Type.Optional(\n Type.String({ minLength: 1, description: `Guidance to deliver. Actions: ${acceptingActions('message')}.` }),\n ),\n reason: Type.Optional(\n Type.String({ minLength: 1, description: `Why the run is stopping. Actions: ${acceptingActions('reason')}.` }),\n ),\n },\n { additionalProperties: false },\n);\n\nexport type SubagentToolParams = Static<typeof SubagentParams>;\n"],"mappings":"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"}
|