MCPcopy Create free account
hub / github.com/Noumena-Network/code / listFilesCreatedAfter

Function listFilesCreatedAfter

src/services/api/filesApi.ts:618–710  ·  view source on GitHub ↗
(
  afterCreatedAt: string,
  config: FilesApiConfig,
)

Source from the content-addressed store, hash-verified

616 * @returns Array of file metadata for files created after the timestamp
617 */
618export async function listFilesCreatedAfter(
619 afterCreatedAt: string,
620 config: FilesApiConfig,
621): Promise<FileMetadata[]> {
622 const baseUrl = config.baseUrl || getDefaultApiBaseUrl()
623 const headers = {
624 Authorization: `Bearer ${config.oauthToken}`,
625 'anthropic-version': ANTHROPIC_VERSION,
626 'anthropic-beta': FILES_API_BETA_HEADER,
627 }
628
629 logDebug(`Listing files created after ${afterCreatedAt}`)
630
631 const allFiles: FileMetadata[] = []
632 let afterId: string | undefined
633
634 // Paginate through results
635 while (true) {
636 const params: Record<string, string> = {
637 after_created_at: afterCreatedAt,
638 }
639 if (afterId) {
640 params.after_id = afterId
641 }
642
643 const page = await retryWithBackoff(
644 `List files after ${afterCreatedAt}`,
645 async () => {
646 try {
647 const response = await axios.get(`${baseUrl}/v1/files`, {
648 headers,
649 params,
650 timeout: 60000,
651 validateStatus: status => status < 500,
652 })
653
654 if (response.status === 200) {
655 return { done: true, value: response.data }
656 }
657
658 if (response.status === 401) {
659 logEvent('ncode_file_list_failed', {
660 error_type:
661 'auth' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
662 })
663 throw new Error('Authentication failed: invalid or missing API key')
664 }
665 if (response.status === 403) {
666 logEvent('ncode_file_list_failed', {
667 error_type:
668 'forbidden' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
669 })
670 throw new Error('Access denied to list files')
671 }
672
673 return { done: false, error: `status ${response.status}` }
674 } catch (error) {
675 if (!axios.isAxiosError(error)) {

Callers 1

filesApi.test.tsFile · 0.85

Calls 5

getDefaultApiBaseUrlFunction · 0.85
retryWithBackoffFunction · 0.85
logDebugFunction · 0.70
logEventFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected