{"version":3,"sources":["../src/index.ts","../src/core/errors.ts","../src/core/httpClient.ts","../src/resources/auth.ts","../src/utils/url.ts","../src/resources/correspondents.ts","../src/resources/documentTypes.ts","../src/resources/documents.ts","../src/resources/tags.ts","../src/resources/tasks.ts","../src/resources/users.ts","../src/core/paperlessClient.ts","../src/utils/env.ts"],"sourcesContent":["export { PaperlessApiError } from './core/errors.js';\nexport { HttpClient } from './core/httpClient.js';\nexport type { HttpClientOptions } from './core/httpClient.js';\nexport { PaperlessClient, createPaperlessClient } from './core/paperlessClient.js';\nexport type { PaperlessClientOptions } from './core/paperlessClient.js';\nexport * from './core/types.js';\n\nexport { DocumentsResource } from './resources/documents.js';\nexport { DocumentTypesResource } from './resources/documentTypes.js';\nexport { CorrespondentsResource } from './resources/correspondents.js';\nexport { TagsResource } from './resources/tags.js';\nexport { TasksResource } from './resources/tasks.js';\nexport { UsersResource } from './resources/users.js';\nexport { AuthResource } from './resources/auth.js';\n\nexport { loadPaperlessEnv, createOptionsFromEnv } from './utils/env.js';\nexport { buildPath } from './utils/url.js';\n","import type { AxiosError } from 'axios';\n\nexport interface PaperlessErrorContext {\n  status?: number;\n  url?: string;\n  method?: string;\n  data?: unknown;\n  headers?: Record<string, unknown>;\n  cause?: unknown;\n}\n\nexport class PaperlessApiError extends Error {\n  readonly status?: number;\n  readonly url?: string;\n  readonly method?: string;\n  readonly data?: unknown;\n  readonly headers?: Record<string, unknown>;\n\n  constructor(message: string, context: PaperlessErrorContext = {}) {\n    super(message);\n    this.name = 'PaperlessApiError';\n    this.status = context.status;\n    this.url = context.url;\n    this.method = context.method;\n    this.data = context.data;\n    this.headers = context.headers;\n    if (context.cause) {\n      this.cause = context.cause as Error;\n    }\n  }\n\n  static fromAxiosError(error: AxiosError): PaperlessApiError {\n    const message = error.message || 'Unexpected Paperless API error';\n    return new PaperlessApiError(message, {\n      status: error.response?.status,\n      url: error.config?.url,\n      method: error.config?.method?.toUpperCase(),\n      data: error.response?.data,\n      headers: error.response?.headers,\n      cause: error,\n    });\n  }\n\n  static from(error: unknown): PaperlessApiError {\n    if (isAxiosError(error)) {\n      return PaperlessApiError.fromAxiosError(error);\n    }\n    if (error instanceof PaperlessApiError) {\n      return error;\n    }\n    if (error instanceof Error) {\n      return new PaperlessApiError(error.message, { cause: error });\n    }\n    return new PaperlessApiError('Unknown Paperless API error', { data: error });\n  }\n}\n\nconst isAxiosError = (error: unknown): error is AxiosError =>\n  typeof error === 'object' && error !== null && 'isAxiosError' in error;\n","import axios, {\n  AxiosHeaders,\n  type AxiosInstance,\n  type AxiosRequestConfig,\n  type AxiosResponse,\n  type Method,\n} from 'axios';\nimport qs from 'qs';\nimport { PaperlessApiError } from './errors.js';\n\nexport interface HttpClientOptions {\n  baseURL: string;\n  token?: string;\n  tokenPrefix?: string;\n  headerName?: string;\n  timeout?: number;\n  userAgent?: string;\n  axiosConfig?: AxiosRequestConfig;\n}\n\nexport interface RequestOptions<T> extends AxiosRequestConfig<T> {\n  method?: Method;\n}\n\nexport class HttpClient {\n  private readonly instance: AxiosInstance;\n  private token?: string;\n  private tokenPrefix?: string;\n  private readonly headerName: string;\n\n  constructor({\n    baseURL,\n    token,\n    tokenPrefix,\n    headerName,\n    timeout = 10000,\n    userAgent = 'paperless-node',\n    axiosConfig,\n  }: HttpClientOptions) {\n    this.instance = axios.create({\n      baseURL,\n      timeout,\n      headers: {\n        Accept: 'application/json',\n        'User-Agent': userAgent,\n        ...axiosConfig?.headers,\n      },\n      paramsSerializer: params =>\n        qs.stringify(params, {\n          arrayFormat: 'comma',\n          skipNulls: true,\n          encodeValuesOnly: true,\n        }),\n      ...axiosConfig,\n    });\n\n    this.token = token ?? undefined;\n    this.tokenPrefix = tokenPrefix ?? (token ? 'Token' : undefined);\n    this.headerName = headerName ?? 'Authorization';\n\n    this.instance.interceptors.request.use((config) => {\n      if (this.token) {\n        const headerValue = this.tokenPrefix ? `${this.tokenPrefix} ${this.token}` : this.token;\n        const headers = config.headers instanceof AxiosHeaders ? config.headers : new AxiosHeaders(config.headers);\n        if (!headers.has(this.headerName)) {\n          headers.set(this.headerName, headerValue);\n        }\n        config.headers = headers;\n      }\n      return config;\n    });\n  }\n\n  setToken(token: string | null, options?: { prefix?: string }): void {\n    this.token = token ?? undefined;\n    if (options?.prefix !== undefined) {\n      this.tokenPrefix = options.prefix ?? undefined;\n    }\n  }\n\n  clearToken(): void {\n    this.token = undefined;\n  }\n\n  async request<TResponse = unknown, TData = unknown>(config: RequestOptions<TData>): Promise<TResponse> {\n    try {\n      const response = await this.instance.request<TResponse, AxiosResponse<TResponse, TData>, TData>(config);\n      return response.data;\n    } catch (error) {\n      throw PaperlessApiError.from(error);\n    }\n  }\n\n  get<TResponse = unknown>(url: string, config: RequestOptions<unknown> = {}): Promise<TResponse> {\n    return this.request<TResponse>({ ...config, method: 'GET', url });\n  }\n\n  post<TResponse = unknown, TData = unknown>(\n    url: string,\n    data?: TData,\n    config: RequestOptions<TData> = {},\n  ): Promise<TResponse> {\n    return this.request<TResponse, TData>({ ...config, method: 'POST', url, data });\n  }\n\n  put<TResponse = unknown, TData = unknown>(\n    url: string,\n    data?: TData,\n    config: RequestOptions<TData> = {},\n  ): Promise<TResponse> {\n    return this.request<TResponse, TData>({ ...config, method: 'PUT', url, data });\n  }\n\n  patch<TResponse = unknown, TData = unknown>(\n    url: string,\n    data?: TData,\n    config: RequestOptions<TData> = {},\n  ): Promise<TResponse> {\n    return this.request<TResponse, TData>({ ...config, method: 'PATCH', url, data });\n  }\n\n  delete<TResponse = unknown>(\n    url: string,\n    config: RequestOptions<unknown> = {},\n  ): Promise<TResponse> {\n    return this.request<TResponse>({ ...config, method: 'DELETE', url });\n  }\n\n  async *iteratePaginated<TItem>(config: RequestOptions<unknown>): AsyncGenerator<TItem, void, unknown> {\n    let nextConfig: RequestOptions<unknown> | undefined = { ...config };\n    while (nextConfig) {\n      const page: PaginatedEnvelope<TItem> = await this.request<PaginatedEnvelope<TItem>>(nextConfig);\n      for (const item of page.results) {\n        yield item;\n      }\n      if (!page.next) {\n        break;\n      }\n      nextConfig = {\n        ...config,\n        url: page.next,\n        params: undefined,\n        baseURL: undefined,\n      };\n    }\n  }\n\n  async listAll<TItem>(config: RequestOptions<unknown>): Promise<TItem[]> {\n    const items: TItem[] = [];\n    for await (const item of this.iteratePaginated<TItem>(config)) {\n      items.push(item);\n    }\n    return items;\n  }\n}\n\ninterface PaginatedEnvelope<T> {\n  count: number;\n  next?: string | null;\n  previous?: string | null;\n  results: T[];\n}\n","import { HttpClient } from '../core/httpClient.js';\nimport type { NonUndefined, OperationRequestBody, OperationResponse, Schema } from '../core/types.js';\n\ntype TokenRequest = NonUndefined<OperationRequestBody<'token_create'>>;\ntype TokenResponse = OperationResponse<'token_create'>;\ntype ProfileTokenResponse = OperationResponse<'profile_generate_auth_token_create'>;\n\nexport class AuthResource {\n  constructor(private readonly http: HttpClient) {}\n\n  login(body: TokenRequest): Promise<TokenResponse> {\n    return this.http.post<TokenResponse, TokenRequest>('/api/token/', body);\n  }\n\n  regenerateProfileToken(): Promise<ProfileTokenResponse> {\n    return this.http.post<ProfileTokenResponse>('/api/profile/generate_auth_token/');\n  }\n}\n","export type PathParams = Record<string, string | number | boolean>;\n\nexport const buildPath = (template: string, params?: PathParams): string => {\n  if (!params) {\n    const missing = template.match(/\\{(\\w+)\\}/);\n    if (missing) {\n      throw new Error(`Missing path parameter: ${missing[1]}`);\n    }\n    return template;\n  }\n  return template.replace(/\\{(\\w+)\\}/g, (match, key: string) => {\n    if (!(key in params)) {\n      throw new Error(`Missing path parameter: ${key}`);\n    }\n    const value = params[key];\n    if (value === undefined || value === null) {\n      throw new Error(`Path parameter '${key}' is ${value === null ? 'null' : 'undefined'}`);\n    }\n    return encodeURIComponent(String(value));\n  });\n};\n","import { HttpClient } from '../core/httpClient.js';\nimport { buildPath } from '../utils/url.js';\nimport type {\n  NonUndefined,\n  OperationPathParams,\n  OperationQuery,\n  OperationRequestBody,\n  OperationResponse,\n  Schema,\n} from '../core/types.js';\n\ntype Correspondent = Schema<'Correspondent'>;\ntype CorrespondentList = OperationResponse<'correspondents_list'>;\ntype CorrespondentCreateRequest = NonUndefined<OperationRequestBody<'correspondents_create'>>;\ntype CorrespondentUpdateRequest = NonUndefined<OperationRequestBody<'correspondents_update'>>;\ntype CorrespondentPatchRequest = NonUndefined<OperationRequestBody<'correspondents_partial_update'>>;\n\ntype CorrespondentListQuery = OperationQuery<'correspondents_list'>;\ntype CorrespondentPath = OperationPathParams<'correspondents_retrieve'>;\n\nexport class CorrespondentsResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: CorrespondentListQuery): Promise<CorrespondentList> {\n    return this.http.get<CorrespondentList>('/api/correspondents/', { params: query });\n  }\n\n  listAll(query?: CorrespondentListQuery): Promise<Correspondent[]> {\n    return this.http.listAll<Correspondent>({\n      method: 'GET',\n      url: '/api/correspondents/',\n      params: query,\n    });\n  }\n\n  retrieve(id: CorrespondentPath['id']): Promise<Correspondent> {\n    const url = buildPath('/api/correspondents/{id}/', { id });\n    return this.http.get<Correspondent>(url);\n  }\n\n  create(body: CorrespondentCreateRequest): Promise<Correspondent> {\n    return this.http.post<Correspondent, CorrespondentCreateRequest>('/api/correspondents/', body);\n  }\n\n  update(id: CorrespondentPath['id'], body: CorrespondentUpdateRequest): Promise<Correspondent> {\n    const url = buildPath('/api/correspondents/{id}/', { id });\n    return this.http.put<Correspondent, CorrespondentUpdateRequest>(url, body);\n  }\n\n  partialUpdate(id: CorrespondentPath['id'], body: CorrespondentPatchRequest): Promise<Correspondent> {\n    const url = buildPath('/api/correspondents/{id}/', { id });\n    return this.http.patch<Correspondent, CorrespondentPatchRequest>(url, body);\n  }\n\n  remove(id: CorrespondentPath['id']): Promise<void> {\n    const url = buildPath('/api/correspondents/{id}/', { id });\n    return this.http.delete<void>(url);\n  }\n}\n","import { HttpClient } from '../core/httpClient.js';\nimport { buildPath } from '../utils/url.js';\nimport type {\n  NonUndefined,\n  OperationPathParams,\n  OperationQuery,\n  OperationRequestBody,\n  OperationResponse,\n  Schema,\n} from '../core/types.js';\n\ntype DocumentType = Schema<'DocumentType'>;\ntype DocumentTypeList = OperationResponse<'document_types_list'>;\ntype DocumentTypeCreateRequest = NonUndefined<OperationRequestBody<'document_types_create'>>;\ntype DocumentTypeUpdateRequest = NonUndefined<OperationRequestBody<'document_types_update'>>;\ntype DocumentTypePatchRequest = NonUndefined<OperationRequestBody<'document_types_partial_update'>>;\n\ntype DocumentTypeListQuery = OperationQuery<'document_types_list'>;\ntype DocumentTypePath = OperationPathParams<'document_types_retrieve'>;\n\nexport class DocumentTypesResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: DocumentTypeListQuery): Promise<DocumentTypeList> {\n    return this.http.get<DocumentTypeList>('/api/document_types/', { params: query });\n  }\n\n  listAll(query?: DocumentTypeListQuery): Promise<DocumentType[]> {\n    return this.http.listAll<DocumentType>({\n      method: 'GET',\n      url: '/api/document_types/',\n      params: query,\n    });\n  }\n\n  retrieve(id: DocumentTypePath['id']): Promise<DocumentType> {\n    const url = buildPath('/api/document_types/{id}/', { id });\n    return this.http.get<DocumentType>(url);\n  }\n\n  create(body: DocumentTypeCreateRequest): Promise<DocumentType> {\n    return this.http.post<DocumentType, DocumentTypeCreateRequest>('/api/document_types/', body);\n  }\n\n  update(id: DocumentTypePath['id'], body: DocumentTypeUpdateRequest): Promise<DocumentType> {\n    const url = buildPath('/api/document_types/{id}/', { id });\n    return this.http.put<DocumentType, DocumentTypeUpdateRequest>(url, body);\n  }\n\n  partialUpdate(id: DocumentTypePath['id'], body: DocumentTypePatchRequest): Promise<DocumentType> {\n    const url = buildPath('/api/document_types/{id}/', { id });\n    return this.http.patch<DocumentType, DocumentTypePatchRequest>(url, body);\n  }\n\n  remove(id: DocumentTypePath['id']): Promise<void> {\n    const url = buildPath('/api/document_types/{id}/', { id });\n    return this.http.delete<void>(url);\n  }\n}\n","import FormData from 'form-data';\nimport { HttpClient } from '../core/httpClient.js';\nimport { buildPath } from '../utils/url.js';\nimport type {\n  NonUndefined,\n  OperationPathParams,\n  OperationQuery,\n  OperationRequestBody,\n  OperationResponse,\n  Schema,\n} from '../core/types.js';\n\ntype Document = Schema<'Document'>;\ntype DocumentRequest = NonUndefined<OperationRequestBody<'documents_update'>>;\ntype DocumentPatch = NonUndefined<OperationRequestBody<'documents_partial_update'>>;\ntype DocumentList = OperationResponse<'documents_list'>;\ntype DocumentHistoryList = OperationResponse<'documents_history_list'>;\ntype DocumentNotesList = OperationResponse<'documents_notes_list'>;\ntype DocumentEmailResponse = OperationResponse<'documents_email_create'>;\ntype DocumentSelectionData = OperationResponse<'documents_selection_data_create'>;\n\ntype UploadDocumentRequest = NonUndefined<OperationRequestBody<'documents_post_document_create'>>;\n\ntype DocumentsListQuery = OperationQuery<'documents_list'>;\ntype DocumentsRetrieveParams = OperationQuery<'documents_retrieve'>;\ntype DocumentsHistoryQuery = OperationQuery<'documents_history_list'>;\ntype DocumentsNotesQuery = OperationQuery<'documents_notes_list'>;\ntype DocumentsNotesCreateBody = NonUndefined<OperationRequestBody<'documents_notes_create'>>;\n\ntype DocumentPath = OperationPathParams<'documents_retrieve'>;\n\ntype PaginatedNotesParams = DocumentsNotesQuery & { id?: number };\n\ntype DownloadOptions = {\n  original?: boolean;\n  responseType?: 'arraybuffer' | 'stream';\n};\n\ntype UploadFile = Buffer | NodeJS.ReadableStream | Blob | string;\n\nexport interface UploadDocumentOptions extends Omit<UploadDocumentRequest, 'document'> {\n  document: UploadFile;\n}\n\nexport class DocumentsResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: DocumentsListQuery): Promise<DocumentList> {\n    return this.http.get<DocumentList>('/api/documents/', { params: query });\n  }\n\n  async *iterate(query?: DocumentsListQuery): AsyncGenerator<Document, void, unknown> {\n    yield* this.http.iteratePaginated<Document>({\n      method: 'GET',\n      url: '/api/documents/',\n      params: query,\n    });\n  }\n\n  listAll(query?: DocumentsListQuery): Promise<Document[]> {\n    return this.http.listAll<Document>({\n      method: 'GET',\n      url: '/api/documents/',\n      params: query,\n    });\n  }\n\n  retrieve(id: DocumentPath['id'], query?: DocumentsRetrieveParams): Promise<Document> {\n    const url = buildPath('/api/documents/{id}/', { id });\n    return this.http.get<Document>(url, { params: query });\n  }\n\n  update(id: DocumentPath['id'], body: DocumentRequest): Promise<Document> {\n    const url = buildPath('/api/documents/{id}/', { id });\n    return this.http.put<Document, DocumentRequest>(url, body);\n  }\n\n  partialUpdate(id: DocumentPath['id'], body: DocumentPatch): Promise<Document> {\n    const url = buildPath('/api/documents/{id}/', { id });\n    return this.http.patch<Document, DocumentPatch>(url, body);\n  }\n\n  remove(id: DocumentPath['id']): Promise<void> {\n    const url = buildPath('/api/documents/{id}/', { id });\n    return this.http.delete<void>(url);\n  }\n\n  async upload(options: UploadDocumentOptions): Promise<string> {\n    const form = new FormData();\n    form.append('document', options.document as any);\n    if (options.title) form.append('title', options.title);\n    if (options.correspondent !== undefined && options.correspondent !== null) {\n      form.append('correspondent', String(options.correspondent));\n    }\n    if (options.document_type !== undefined && options.document_type !== null) {\n      form.append('document_type', String(options.document_type));\n    }\n    if (options.storage_path !== undefined && options.storage_path !== null) {\n      form.append('storage_path', String(options.storage_path));\n    }\n    if (options.tags) {\n      for (const tag of options.tags) {\n        form.append('tags', String(tag));\n      }\n    }\n    if (options.archive_serial_number !== undefined && options.archive_serial_number !== null) {\n      form.append('archive_serial_number', String(options.archive_serial_number));\n    }\n    if (options.custom_fields) {\n      for (const field of options.custom_fields) {\n        form.append('custom_fields', String(field));\n      }\n    }\n    if (options.from_webui !== undefined) {\n      form.append('from_webui', String(options.from_webui));\n    }\n    if (options.created) {\n      form.append('created', options.created);\n    }\n\n    return this.http.post<string, FormData>('/api/documents/post_document/', form, {\n      headers: form.getHeaders(),\n    });\n  }\n\n  async download(\n    id: DocumentPath['id'],\n    { original, responseType = 'arraybuffer' }: DownloadOptions = {},\n  ): Promise<ArrayBuffer | NodeJS.ReadableStream> {\n    const url = buildPath('/api/documents/{id}/download/', { id });\n    const params = original === undefined ? undefined : { original };\n\n    if (responseType === 'stream') {\n      return this.http.get<NodeJS.ReadableStream>(url, {\n        params,\n        responseType,\n      });\n    }\n\n    return this.http.get<ArrayBuffer>(url, {\n      params,\n      responseType,\n    });\n  }\n\n  history(id: DocumentPath['id'], query?: DocumentsHistoryQuery): Promise<DocumentHistoryList> {\n    const url = buildPath('/api/documents/{id}/history/', { id });\n    return this.http.get<DocumentHistoryList>(url, { params: query });\n  }\n\n  notes(id: DocumentPath['id'], query?: DocumentsNotesQuery): Promise<DocumentNotesList> {\n    const url = buildPath('/api/documents/{id}/notes/', { id });\n    return this.http.get<DocumentNotesList>(url, { params: query });\n  }\n\n  addNote(id: DocumentPath['id'], body: DocumentsNotesCreateBody): Promise<DocumentNotesList> {\n    const url = buildPath('/api/documents/{id}/notes/', { id });\n    return this.http.post<DocumentNotesList, DocumentsNotesCreateBody>(url, body);\n  }\n\n  removeNote(id: DocumentPath['id'], noteId: number): Promise<DocumentNotesList> {\n    const url = buildPath('/api/documents/{id}/notes/', { id });\n    const params: PaginatedNotesParams = { id: noteId };\n    return this.http.delete<DocumentNotesList>(url, { params });\n  }\n\n  sendByEmail(id: DocumentPath['id'], body: NonUndefined<OperationRequestBody<'documents_email_create'>>): Promise<DocumentEmailResponse> {\n    const url = buildPath('/api/documents/{id}/email/', { id });\n    return this.http.post<DocumentEmailResponse, typeof body>(url, body);\n  }\n\n  selectionData(body: NonUndefined<OperationRequestBody<'documents_selection_data_create'>>): Promise<DocumentSelectionData> {\n    return this.http.post<DocumentSelectionData, typeof body>('/api/documents/selection_data/', body);\n  }\n}\n","import { HttpClient } from '../core/httpClient.js';\nimport { buildPath } from '../utils/url.js';\nimport type {\n  NonUndefined,\n  OperationPathParams,\n  OperationQuery,\n  OperationRequestBody,\n  OperationResponse,\n  Schema,\n} from '../core/types.js';\n\ntype Tag = Schema<'Tag'>;\ntype TagList = OperationResponse<'tags_list'>;\ntype TagRequest = NonUndefined<OperationRequestBody<'tags_create'>>;\ntype TagUpdateRequest = NonUndefined<OperationRequestBody<'tags_update'>>;\ntype TagPatchRequest = NonUndefined<OperationRequestBody<'tags_partial_update'>>;\n\ntype TagListQuery = OperationQuery<'tags_list'>;\ntype TagPath = OperationPathParams<'tags_retrieve'>;\n\nexport class TagsResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: TagListQuery): Promise<TagList> {\n    return this.http.get<TagList>('/api/tags/', { params: query });\n  }\n\n  listAll(query?: TagListQuery): Promise<Tag[]> {\n    return this.http.listAll<Tag>({\n      method: 'GET',\n      url: '/api/tags/',\n      params: query,\n    });\n  }\n\n  retrieve(id: TagPath['id']): Promise<Tag> {\n    const url = buildPath('/api/tags/{id}/', { id });\n    return this.http.get<Tag>(url);\n  }\n\n  create(body: TagRequest): Promise<Tag> {\n    return this.http.post<Tag, TagRequest>('/api/tags/', body);\n  }\n\n  update(id: TagPath['id'], body: TagUpdateRequest): Promise<Tag> {\n    const url = buildPath('/api/tags/{id}/', { id });\n    return this.http.put<Tag, TagUpdateRequest>(url, body);\n  }\n\n  partialUpdate(id: TagPath['id'], body: TagPatchRequest): Promise<Tag> {\n    const url = buildPath('/api/tags/{id}/', { id });\n    return this.http.patch<Tag, TagPatchRequest>(url, body);\n  }\n\n  remove(id: TagPath['id']): Promise<void> {\n    const url = buildPath('/api/tags/{id}/', { id });\n    return this.http.delete<void>(url);\n  }\n}\n","import { HttpClient } from '../core/httpClient.js';\nimport type { NonUndefined, OperationQuery, OperationRequestBody, OperationResponse, Schema } from '../core/types.js';\n\ntype Task = Schema<'TasksView'>;\ntype TaskListQuery = OperationQuery<'tasks_list'>;\ntype TaskRetrieveQuery = OperationQuery<'tasks_retrieve'>;\ntype AcknowledgeTasksResponse = OperationResponse<'acknowledge_tasks'>;\ntype AcknowledgeTasksBody = NonUndefined<OperationRequestBody<'acknowledge_tasks'>>;\ntype RunTaskBody = NonUndefined<OperationRequestBody<'tasks_run_create'>>;\n\ntype TaskIdentifier = number;\n\nexport class TasksResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: TaskListQuery): Promise<Task[]> {\n    return this.http.get<Task[]>('/api/tasks/', { params: query });\n  }\n\n  retrieve(id: TaskIdentifier, query?: TaskRetrieveQuery): Promise<Task> {\n    return this.http.get<Task>(`/api/tasks/${id}/`, { params: query });\n  }\n\n  acknowledge(body: AcknowledgeTasksBody, query?: OperationQuery<'acknowledge_tasks'>): Promise<AcknowledgeTasksResponse> {\n    return this.http.post<AcknowledgeTasksResponse, AcknowledgeTasksBody>('/api/tasks/acknowledge/', body, {\n      params: query,\n    });\n  }\n\n  run(body: RunTaskBody, query?: OperationQuery<'tasks_run_create'>): Promise<Task> {\n    return this.http.post<Task, RunTaskBody>('/api/tasks/run/', body, {\n      params: query,\n    });\n  }\n}\n","import { HttpClient } from '../core/httpClient.js';\nimport { buildPath } from '../utils/url.js';\nimport type {\n  NonUndefined,\n  OperationPathParams,\n  OperationQuery,\n  OperationRequestBody,\n  OperationResponse,\n  Schema,\n} from '../core/types.js';\n\ntype User = Schema<'User'>;\ntype UserList = OperationResponse<'users_list'>;\ntype UserCreateRequest = NonUndefined<OperationRequestBody<'users_create'>>;\ntype UserUpdateRequest = NonUndefined<OperationRequestBody<'users_update'>>;\ntype UserPatchRequest = NonUndefined<OperationRequestBody<'users_partial_update'>>;\n\ntype UserListQuery = OperationQuery<'users_list'>;\ntype UserPath = OperationPathParams<'users_retrieve'>;\n\ntype DeactivateTotpBody = NonUndefined<OperationRequestBody<'users_deactivate_totp_create'>>;\n\ntype DeactivateTotpResponse = OperationResponse<'users_deactivate_totp_create'>;\n\nexport class UsersResource {\n  constructor(private readonly http: HttpClient) {}\n\n  list(query?: UserListQuery): Promise<UserList> {\n    return this.http.get<UserList>('/api/users/', { params: query });\n  }\n\n  listAll(query?: UserListQuery): Promise<User[]> {\n    return this.http.listAll<User>({\n      method: 'GET',\n      url: '/api/users/',\n      params: query,\n    });\n  }\n\n  retrieve(id: UserPath['id']): Promise<User> {\n    const url = buildPath('/api/users/{id}/', { id });\n    return this.http.get<User>(url);\n  }\n\n  create(body: UserCreateRequest): Promise<User> {\n    return this.http.post<User, UserCreateRequest>('/api/users/', body);\n  }\n\n  update(id: UserPath['id'], body: UserUpdateRequest): Promise<User> {\n    const url = buildPath('/api/users/{id}/', { id });\n    return this.http.put<User, UserUpdateRequest>(url, body);\n  }\n\n  partialUpdate(id: UserPath['id'], body: UserPatchRequest): Promise<User> {\n    const url = buildPath('/api/users/{id}/', { id });\n    return this.http.patch<User, UserPatchRequest>(url, body);\n  }\n\n  remove(id: UserPath['id']): Promise<void> {\n    const url = buildPath('/api/users/{id}/', { id });\n    return this.http.delete<void>(url);\n  }\n\n  deactivateTotp(id: UserPath['id'], body: DeactivateTotpBody): Promise<DeactivateTotpResponse> {\n    const url = buildPath('/api/users/{id}/deactivate_totp/', { id });\n    return this.http.post<DeactivateTotpResponse, DeactivateTotpBody>(url, body);\n  }\n}\n","import type { HttpClientOptions } from './httpClient.js';\nimport { HttpClient } from './httpClient.js';\nimport { AuthResource } from '../resources/auth.js';\nimport { CorrespondentsResource } from '../resources/correspondents.js';\nimport { DocumentTypesResource } from '../resources/documentTypes.js';\nimport { DocumentsResource } from '../resources/documents.js';\nimport { TagsResource } from '../resources/tags.js';\nimport { TasksResource } from '../resources/tasks.js';\nimport { UsersResource } from '../resources/users.js';\n\nexport interface PaperlessClientOptions extends HttpClientOptions {}\n\nexport class PaperlessClient {\n  readonly http: HttpClient;\n  readonly documents: DocumentsResource;\n  readonly documentTypes: DocumentTypesResource;\n  readonly correspondents: CorrespondentsResource;\n  readonly tags: TagsResource;\n  readonly tasks: TasksResource;\n  readonly users: UsersResource;\n  readonly auth: AuthResource;\n\n  constructor(options: PaperlessClientOptions) {\n    this.http = new HttpClient(options);\n    this.documents = new DocumentsResource(this.http);\n    this.documentTypes = new DocumentTypesResource(this.http);\n    this.correspondents = new CorrespondentsResource(this.http);\n    this.tags = new TagsResource(this.http);\n    this.tasks = new TasksResource(this.http);\n    this.users = new UsersResource(this.http);\n    this.auth = new AuthResource(this.http);\n  }\n\n  setToken(token: string | null, options?: { prefix?: string }): void {\n    this.http.setToken(token, options);\n  }\n\n  clearToken(): void {\n    this.http.clearToken();\n  }\n}\n\nexport const createPaperlessClient = (options: PaperlessClientOptions): PaperlessClient =>\n  new PaperlessClient(options);\n","import { config as loadEnv, type DotenvConfigOptions } from 'dotenv';\nimport type { PaperlessClientOptions } from '../core/paperlessClient.js';\n\nexport interface EnvConfig {\n  baseURL?: string;\n  token?: string;\n  tokenPrefix?: string;\n  headerName?: string;\n}\n\nexport interface LoadEnvOptions {\n  dotenv?: boolean | DotenvConfigOptions;\n}\n\nexport const loadPaperlessEnv = ({ dotenv = true }: LoadEnvOptions = {}): EnvConfig => {\n  if (dotenv) {\n    const options = typeof dotenv === 'object' ? dotenv : undefined;\n    loadEnv(options);\n  }\n\n  return {\n    baseURL: process.env.PAPERLESS_BASE_URL ?? process.env.PAPERLESS_URL,\n    token: process.env.PAPERLESS_TOKEN ?? process.env.PAPERLESS_API_TOKEN,\n    tokenPrefix: process.env.PAPERLESS_TOKEN_PREFIX,\n    headerName: process.env.PAPERLESS_AUTH_HEADER,\n  };\n};\n\nexport const createOptionsFromEnv = (\n  { defaults, dotenv }: LoadEnvOptions & { defaults?: Partial<PaperlessClientOptions> } = {},\n): PaperlessClientOptions => {\n  const envConfig = loadPaperlessEnv({ dotenv });\n  const baseURL = envConfig.baseURL ?? defaults?.baseURL;\n\n  if (!baseURL) {\n    throw new Error('Paperless base URL is required. Set PAPERLESS_BASE_URL or provide baseURL.');\n  }\n\n  return {\n    ...defaults,\n    baseURL,\n    token: envConfig.token ?? defaults?.token,\n    tokenPrefix: envConfig.tokenPrefix ?? defaults?.tokenPrefix,\n    headerName: envConfig.headerName ?? defaults?.headerName,\n  } satisfies PaperlessClientOptions;\n};\n"],"mappings":"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","names":["axios","qs","FormData","loadEnv"]}