{"version":3,"file":"subagentPolicy.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":"+BAIA,MAAa,EAA+B,uBAE/B,EAAuB,EAAK,OACvC,CACE,MAAO,EAAK,OAAO,CAAE,UAAW,CAAE,CAAC,EACnC,aAAc,EAAK,SAAS,EAAK,MAAM,EAAK,OAAO,CAAE,UAAW,CAAE,CAAC,CAAC,CAAC,EACrE,cAAe,EAAK,SAAS,EAAK,MAAM,EAAK,OAAO,CAAE,UAAW,CAAE,CAAC,CAAC,CAAC,EACtE,cAAe,EAAK,SAAS,EAAK,QAAQ,CAAC,EAC3C,wBAAyB,EAAK,SAAS,EAAK,MAAM,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,GAAI,CAAC,CAAC,CAAC,EAChG,eAAgB,EAAK,SAAS,EAAK,QAAQ,CAAC,CAC9C,EACA,CAAE,qBAAsB,EAAM,CAChC,EAqBA,SAAgB,EAA8B,EAAqD,CACjG,OAAO,EAAI,IAAI,CAA4B,CAC7C"}