@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
25 lines • 1.63 kB
TypeScript
import { SlackAccessor } from '../../accessor/slack.ts';
import type { PathSpec } from '../../types.ts';
export declare const PAGE_SIZE = 100;
export declare const MAX_PAGES = 10;
export declare function searchMessages(accessor: SlackAccessor, query: string, count?: number, page?: number): Promise<Uint8Array>;
export declare function searchFiles(accessor: SlackAccessor, query: string, count?: number, page?: number): Promise<Uint8Array>;
/**
* The channel and DM days under `under` Slack search names.
*
* Slack matches whole words of message text, of file names and titles
* (`search.files`) and of reaction names (`has::name:`), so each hit names
* the UTC day its message was posted, or each day a file was shared. The
* root, `channels`, `dms` and a DM are searched across the workspace, a
* channel with `in:#name` (`on:` would read the day in the searcher's time
* zone); hits map to dirnames through the channel and DM ids the listing
* holds. A scope with no day in it adds nothing, and a day is cheaper to
* read than to search. null when a channel or DM in scope is one search does
* not cover (`searchedChannels`), when `text` could match the JSON around those fields
* (`recordQueries`), a user's name or the workspace's domain (`searchFacts`),
* on an API or connection error, past `MAX_PAGES` pages, or with no hit at
* all, since Slack indexes a message some time after it is posted. Mirrors
* Python's `files_containing`.
*/
export declare function filesContaining(accessor: SlackAccessor, text: string, under: readonly PathSpec[]): Promise<PathSpec[] | null>;
//# sourceMappingURL=search.d.ts.map