{"record":{"id":"fbb1202f152745d9","repo":"paperclipai/paperclip","slug":"label-must-be-an-integer-between-1-and-maximu-fbb120","errorCode":null,"errorMessage":"${label} must be an integer between 1 and ${maximum}.","messagePattern":"(.+?) must be an integer between 1 and (.+?)\\.","errorType":"error_code","errorClass":"PaperclipRunnerProviderProfileError","httpStatus":null,"severity":"error","filePath":"server/src/services/native-runtime/provider-profile.ts","lineNumber":164,"sourceCode":"  }\n  return parsed;\n}\n\nfunction boundedPositiveInteger(\n  value: unknown,\n  fallback: number,\n  maximum: number,\n  code: string,\n  label: string,\n): number {\n  if (value === undefined || value === null || value === \"\") return fallback;\n  if (\n    typeof value !== \"number\"\n    || !Number.isSafeInteger(value)\n    || value <= 0\n    || value > maximum\n  ) {\n    throw new PaperclipRunnerProviderProfileError(\n      code,\n      `${label} must be an integer between 1 and ${maximum}.`,\n    );\n  }\n  return value;\n}\n\nfunction assertPermissionMode(\n  provider: PaperclipRunnerProvider,\n  config: Record<string, unknown>,\n): void {\n  const capability = PAPERCLIP_RUNNER_PERMISSION_CAPABILITIES[provider];\n  if (!capability.configurable) return;\n  const configured = config[capability.configKey];\n  if (\n    configured !== undefined\n    && resolvePaperclipRunnerPermissionMode(provider, configured) !== configured\n  ) {","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/native-runtime/provider-profile.ts#L146-L182","documentation":"Generic validation helper boundedPositiveInteger in provider-profile.ts: any provider-profile numeric option that is provided must be a safe integer in 1..maximum; otherwise a PaperclipRunnerProviderProfileError with the given code is thrown. It fires on out-of-range, non-integer, or wrong-typed values for options like spend ceilings and timeouts; the input at fault is the `value` argument.","triggerScenarios":"Thrown at server/src/services/native-runtime/provider-profile.ts:164 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a positive safe integer within the stated maximum for the option.","Omit the value (undefined/null/'') so the built-in fallback applies.","Coerce string form inputs to numbers and validate the range client-side before saving adapter config."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-09-02T18:44:00.616Z","contentChangedAt":"2026-09-02T18:44:00.616Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}