{"version":3,"sources":["../../../src/adapters/react/provider.ts","../../../src/adapters/react/hooks/use-inbox.ts","../../../src/adapters/react/hooks/use-projects.ts","../../../src/adapters/react/hooks/use-actions.ts"],"sourcesContent":["/**\n * React Context Provider for GTD Client\n * \n * This provider makes the GTD client available to all React hooks\n */\n\nimport { createContext, useContext, useMemo, createElement, ReactNode } from 'react';\nimport { GTDClient } from '../../client';\nimport { HttpClient } from '../../client/http-client';\n\ninterface GTDProviderProps {\n  children: ReactNode;\n  httpClient: HttpClient;\n  basePath?: string;\n}\n\nconst GTDClientContext = createContext<GTDClient | null>(null);\n\nexport function GTDProvider({ \n  children, \n  httpClient,\n  basePath \n}: GTDProviderProps) {\n  const client = useMemo(\n    () => new GTDClient(httpClient, basePath),\n    [httpClient, basePath]\n  );\n\n  return createElement(\n    GTDClientContext.Provider,\n    { value: client },\n    children\n  );\n}\n\nexport function useGTDClient(): GTDClient {\n  const client = useContext(GTDClientContext);\n  \n  if (!client) {\n    throw new Error(\n      'useGTDClient must be used within a GTDProvider. ' +\n      'Make sure to wrap your app with <GTDProvider httpClient={...}>'\n    );\n  }\n  \n  return client;\n}","/**\n * React hooks for GTD Inbox operations\n * \n * These hooks use TanStack Query for caching and state management\n */\n\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { GTDClient } from '../../../client';\nimport { \n  CaptureInboxItemRequest,\n  ClarifyInboxItemRequest,\n  ProcessInboxItemRequest,\n  InboxQueryFilters,\n  ListQueryParams \n} from '../../../contracts';\nimport { useGTDClient } from '../provider';\n\n// Query keys\nconst INBOX_QUERY_KEY = ['gtd', 'inbox'] as const;\n\nexport function useInboxItems(filters?: InboxQueryFilters & ListQueryParams) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...INBOX_QUERY_KEY, filters],\n    queryFn: () => client.getInboxItems(filters),\n    staleTime: 30 * 1000, // 30 seconds\n  });\n}\n\nexport function useInboxItem(id: string | null) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...INBOX_QUERY_KEY, id],\n    queryFn: () => client.getInboxItem(id!),\n    enabled: !!id,\n    staleTime: 30 * 1000,\n  });\n}\n\nexport function useCaptureInboxItem() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (request: CaptureInboxItemRequest) => \n      client.captureInboxItem(request),\n    onSuccess: () => {\n      queryClient.invalidateQueries({ queryKey: INBOX_QUERY_KEY });\n    },\n  });\n}\n\nexport function useClarifyInboxItem() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: ({ id, request }: { id: string; request: ClarifyInboxItemRequest }) =>\n      client.clarifyInboxItem(id, request),\n    onSuccess: (data, variables) => {\n      // Update specific item\n      queryClient.setQueryData([...INBOX_QUERY_KEY, variables.id], data);\n      // Invalidate list\n      queryClient.invalidateQueries({ \n        queryKey: INBOX_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useProcessInboxItem() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: ({ id, request }: { id: string; request: ProcessInboxItemRequest }) =>\n      client.processInboxItem(id, request),\n    onSuccess: () => {\n      // Invalidate inbox and potentially projects/actions\n      queryClient.invalidateQueries({ queryKey: ['gtd'] });\n    },\n  });\n}\n\nexport function useDeleteInboxItem() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.deleteInboxItem(id),\n    onSuccess: (_, id) => {\n      // Remove from cache\n      queryClient.removeQueries({ queryKey: [...INBOX_QUERY_KEY, id] });\n      // Invalidate list\n      queryClient.invalidateQueries({ \n        queryKey: INBOX_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}","/**\n * React hooks for GTD Project operations\n */\n\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { GTDClient } from '../../../client';\nimport { \n  CreateProjectRequest,\n  ProjectQueryFilters,\n  ListQueryParams \n} from '../../../contracts';\nimport { useGTDClient } from '../provider';\n\n// Query keys\nconst PROJECTS_QUERY_KEY = ['gtd', 'projects'] as const;\n\nexport function useProjects(filters?: ProjectQueryFilters & ListQueryParams) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...PROJECTS_QUERY_KEY, filters],\n    queryFn: () => client.getProjects(filters),\n    staleTime: 60 * 1000, // 1 minute\n  });\n}\n\nexport function useProject(id: string | null) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...PROJECTS_QUERY_KEY, id],\n    queryFn: () => client.getProject(id!),\n    enabled: !!id,\n    staleTime: 60 * 1000,\n  });\n}\n\nexport function useCreateProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (request: CreateProjectRequest) => \n      client.createProject(request),\n    onSuccess: () => {\n      queryClient.invalidateQueries({ queryKey: PROJECTS_QUERY_KEY });\n    },\n  });\n}\n\nexport function useCompleteProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: ({ id, completedBy, notes }: { \n      id: string; \n      completedBy?: string; \n      notes?: string \n    }) => client.completeProject(id, completedBy, notes),\n    onSuccess: (data, variables) => {\n      queryClient.setQueryData([...PROJECTS_QUERY_KEY, variables.id], data);\n      queryClient.invalidateQueries({ \n        queryKey: PROJECTS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useDeferProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.deferProject(id),\n    onSuccess: (data, id) => {\n      queryClient.setQueryData([...PROJECTS_QUERY_KEY, id], data);\n      queryClient.invalidateQueries({ \n        queryKey: PROJECTS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useActivateProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.activateProject(id),\n    onSuccess: (data, id) => {\n      queryClient.setQueryData([...PROJECTS_QUERY_KEY, id], data);\n      queryClient.invalidateQueries({ \n        queryKey: PROJECTS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useCancelProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.cancelProject(id),\n    onSuccess: (data, id) => {\n      queryClient.setQueryData([...PROJECTS_QUERY_KEY, id], data);\n      queryClient.invalidateQueries({ \n        queryKey: PROJECTS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useDeleteProject() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.deleteProject(id),\n    onSuccess: (_, id) => {\n      queryClient.removeQueries({ queryKey: [...PROJECTS_QUERY_KEY, id] });\n      queryClient.invalidateQueries({ \n        queryKey: PROJECTS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}","/**\n * React hooks for GTD Next Action operations\n */\n\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { GTDClient } from '../../../client';\nimport { \n  CreateNextActionRequest,\n  AssignNextActionRequest,\n  NextActionQueryFilters,\n  ListQueryParams \n} from '../../../contracts';\nimport { useGTDClient } from '../provider';\n\n// Query keys\nconst ACTIONS_QUERY_KEY = ['gtd', 'actions'] as const;\nconst CONTEXTS_QUERY_KEY = ['gtd', 'contexts'] as const;\n\nexport function useNextActions(filters?: NextActionQueryFilters & ListQueryParams) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...ACTIONS_QUERY_KEY, filters],\n    queryFn: () => client.getNextActions(filters),\n    staleTime: 30 * 1000, // 30 seconds\n  });\n}\n\nexport function useNextAction(id: string | null) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...ACTIONS_QUERY_KEY, id],\n    queryFn: () => client.getNextAction(id!),\n    enabled: !!id,\n    staleTime: 30 * 1000,\n  });\n}\n\nexport function useActionsByProject(projectId: string | null) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...ACTIONS_QUERY_KEY, 'project', projectId],\n    queryFn: () => client.getActionsByProject(projectId!),\n    enabled: !!projectId,\n    staleTime: 30 * 1000,\n  });\n}\n\nexport function useActionsByContext(context: string | null) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: [...ACTIONS_QUERY_KEY, 'context', context],\n    queryFn: () => client.getActionsByContext(context!),\n    enabled: !!context,\n    staleTime: 30 * 1000,\n  });\n}\n\nexport function useContexts() {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: CONTEXTS_QUERY_KEY,\n    queryFn: () => client.getContexts(),\n    staleTime: 5 * 60 * 1000, // 5 minutes\n  });\n}\n\nexport function useCreateNextAction() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (request: CreateNextActionRequest) => \n      client.createNextAction(request),\n    onSuccess: (data) => {\n      // Invalidate actions lists\n      queryClient.invalidateQueries({ queryKey: ACTIONS_QUERY_KEY });\n      \n      // If it has a project, invalidate that project's actions\n      if (data.projectId) {\n        queryClient.invalidateQueries({ \n          queryKey: [...ACTIONS_QUERY_KEY, 'project', data.projectId] \n        });\n      }\n      \n      // If it has a context, invalidate that context's actions\n      if (data.context) {\n        queryClient.invalidateQueries({ \n          queryKey: [...ACTIONS_QUERY_KEY, 'context', data.context] \n        });\n      }\n    },\n  });\n}\n\nexport function useAssignNextAction() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: ({ id, request }: { id: string; request: AssignNextActionRequest }) =>\n      client.assignNextAction(id, request),\n    onSuccess: (data, variables) => {\n      queryClient.setQueryData([...ACTIONS_QUERY_KEY, variables.id], data);\n      queryClient.invalidateQueries({ \n        queryKey: ACTIONS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useUnassignNextAction() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.unassignNextAction(id),\n    onSuccess: (data, id) => {\n      queryClient.setQueryData([...ACTIONS_QUERY_KEY, id], data);\n      queryClient.invalidateQueries({ \n        queryKey: ACTIONS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useCompleteNextAction() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.completeNextAction(id),\n    onSuccess: (data, id) => {\n      queryClient.setQueryData([...ACTIONS_QUERY_KEY, id], data);\n      queryClient.invalidateQueries({ \n        queryKey: ACTIONS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\nexport function useDeleteNextAction() {\n  const client = useGTDClient();\n  const queryClient = useQueryClient();\n  \n  return useMutation({\n    mutationFn: (id: string) => client.deleteNextAction(id),\n    onSuccess: (_, id) => {\n      queryClient.removeQueries({ queryKey: [...ACTIONS_QUERY_KEY, id] });\n      queryClient.invalidateQueries({ \n        queryKey: ACTIONS_QUERY_KEY,\n        exact: false \n      });\n    },\n  });\n}\n\n// Weekly Review\nexport function useWeeklyReview(reviewedBy: string) {\n  const client = useGTDClient();\n  \n  return useQuery({\n    queryKey: ['gtd', 'weekly-review', reviewedBy],\n    queryFn: () => client.getWeeklyReview(reviewedBy),\n    staleTime: 60 * 1000, // 1 minute\n  });\n}"],"mappings":"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","names":["createContext","useContext","useMemo","createElement","GTDClientContext","createContext","GTDProvider","children","httpClient","basePath","client","useMemo","GTDClient","createElement","Provider","value","useGTDClient","useContext","Error","useQuery","useMutation","useQueryClient","INBOX_QUERY_KEY","useInboxItems","filters","client","useGTDClient","useQuery","queryKey","queryFn","getInboxItems","staleTime","useInboxItem","id","getInboxItem","enabled","useCaptureInboxItem","queryClient","useQueryClient","useMutation","mutationFn","request","captureInboxItem","onSuccess","invalidateQueries","useClarifyInboxItem","clarifyInboxItem","data","variables","setQueryData","exact","useProcessInboxItem","processInboxItem","useDeleteInboxItem","deleteInboxItem","_","removeQueries","useQuery","useMutation","useQueryClient","PROJECTS_QUERY_KEY","useProjects","filters","client","useGTDClient","useQuery","queryKey","queryFn","getProjects","staleTime","useProject","id","getProject","enabled","useCreateProject","queryClient","useQueryClient","useMutation","mutationFn","request","createProject","onSuccess","invalidateQueries","useCompleteProject","completedBy","notes","completeProject","data","variables","setQueryData","exact","useDeferProject","deferProject","useActivateProject","activateProject","useCancelProject","cancelProject","useDeleteProject","deleteProject","_","removeQueries","useQuery","useMutation","useQueryClient","ACTIONS_QUERY_KEY","CONTEXTS_QUERY_KEY","useNextActions","filters","client","useGTDClient","useQuery","queryKey","queryFn","getNextActions","staleTime","useNextAction","id","getNextAction","enabled","useActionsByProject","projectId","getActionsByProject","useActionsByContext","context","getActionsByContext","useContexts","getContexts","useCreateNextAction","queryClient","useQueryClient","useMutation","mutationFn","request","createNextAction","onSuccess","data","invalidateQueries","useAssignNextAction","assignNextAction","variables","setQueryData","exact","useUnassignNextAction","unassignNextAction","useCompleteNextAction","completeNextAction","useDeleteNextAction","deleteNextAction","_","removeQueries","useWeeklyReview","reviewedBy","getWeeklyReview"]}