{"record":{"id":"32ed8d55ddec3be7","repo":"paperclipai/paperclip","slug":"aws-agentcore-live-sessions-require-a-qualified-ag","errorCode":null,"errorMessage":"AWS AgentCore live sessions require a qualified AgentCore profile","messagePattern":"AWS AgentCore live sessions require a qualified AgentCore profile","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/paperclip-runner/src/live/live-session.ts","lineNumber":871,"sourceCode":"  readonly #now: () => Date;\n  readonly #sessions = new Map<string, CapabilityLiveSession>();\n\n  constructor(options: CapabilityLiveSessionServiceOptions = {}) {\n    this.#store = options.store ?? new InMemoryCapabilityLiveSessionStore();\n    this.#transportFactory = options.transportFactory ?? createCapabilityRunnerdCodexTransport;\n    this.#transportOptions = options.transportOptions ?? {};\n    this.#now = options.now ?? (() => new Date());\n  }\n\n  async create(input: CreateCapabilityLiveSessionInput = {}): Promise<CapabilityLiveSession> {\n    if (input.provider === \"acpx\" && input.acpxAgent === \"pi\") {\n      throw new Error(\"The Pi ACPX profile is not available\");\n    }\n    if (input.provider === \"claude_managed\" && !input.managedProfile) {\n      throw new Error(\"Claude Managed live sessions require a qualified managed profile\");\n    }\n    if (input.provider === \"aws_agentcore\" && !input.agentCoreProfile) {\n      throw new Error(\"AWS AgentCore live sessions require a qualified AgentCore profile\");\n    }\n    if (\n      (input.provider === \"claude_managed\" || input.provider === \"aws_agentcore\") &&\n      !input.requestedModel?.trim()\n    ) {\n      throw new Error(\"Managed live sessions require an explicit qualified model\");\n    }\n    const port = new CapabilityMockControlPlaneAdapter(input.seed);\n    const seedState = port.serialize();\n    await port.start();\n    const state = port.snapshot();\n    const sessionId = input.sessionId ?? randomUUID();\n    const runId = input.runId ?? randomUUID();\n    const acpxProfile = input.provider === \"acpx\"\n      ? resolveQualifiedAcpxProfile(input.acpxAgent ?? \"codex\", requireNonEmpty(input.requestedModel ?? \"\", \"requested_model\"))\n      : null;\n    const capabilities = [...(input.capabilities ?? [])];\n    const scenario = input.scenario ?? { id: \"capability-live-default\" };","sourceCodeStart":853,"sourceCodeEnd":889,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/packages/paperclip-runner/src/live/live-session.ts#L853-L889","documentation":"CapabilityLiveSession.create requires aws_agentcore sessions to include an agentCoreProfile describing the qualified AgentCore setup. Without it the runner cannot configure the AWS AgentCore transport and throws during create().","triggerScenarios":"Calling create({ provider: 'aws_agentcore' }) with input.agentCoreProfile undefined/null, e.g. when AWS AgentCore config was never supplied.","commonSituations":"Missing AWS AgentCore profile in config; environment where AgentCore qualification never ran; templates defaulting to another provider then switched to aws_agentcore.","solutions":["Supply a valid input.agentCoreProfile when using provider 'aws_agentcore'","Run/complete the AgentCore qualification step that produces the profile and pass it through","Fix config plumbing so the profile is loaded from env/config before create()","Choose a supported provider if AgentCore is not set up"],"exampleFix":"// before\nawait liveSession.create({ provider: 'aws_agentcore' });\n// after\nif (!agentCoreProfile) throw new Error('configure agentCoreProfile for aws_agentcore');\nawait liveSession.create({ provider: 'aws_agentcore', agentCoreProfile });","handlingStrategy":"validation","validationCode":"if (input.provider === 'aws_agentcore' && !input.agentCoreProfile) throw new Error('agentCoreProfile required for aws_agentcore sessions');","typeGuard":"function hasAgentCoreProfile(input: { provider: string; agentCoreProfile?: object }): input is { provider: 'aws_agentcore'; agentCoreProfile: object } {\n  return input.provider === 'aws_agentcore' && !!input.agentCoreProfile;\n}","tryCatchPattern":"try {\n  await liveSession.create(input);\n} catch (err) {\n  if (err instanceof Error && err.message.includes('require a qualified AgentCore profile')) {\n    // report missing AWS AgentCore setup\n  } else throw err;\n}","preventionTips":["Complete AgentCore qualification before enabling the provider","Validate provider-specific fields at config load time","Gate aws_agentcore behind a config check for the profile"],"tags":["live-session","aws","agentcore","validation"],"backgroundTag":"missing-required-profile","analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-09-02T18:44:00.616Z","contentChangedAt":"2026-09-02T18:44:00.616Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}