Skip to main content
const view = await airstore.views.create('ws_abc123', {
  integration: 'gmail',
  name: 'Unread Emails',
  guidance: 'unread emails from the inbox',
})
Source views are materialized queries over connected data sources. In smart mode the query is LLM-inferred from a guidance string; in query mode the query is built from a structured per-integration filter. Results sync in the background and can be refreshed on demand.

create()

Create a new source view. If filter is provided, the view is created in query mode. Otherwise, it uses smart mode with LLM inference from guidance.
// Smart mode
const view = await airstore.views.create('ws_abc123', {
  integration: 'gmail',
  name: 'Investor Emails',
  guidance: 'emails from investors in the last 30 days',
  outputFormat: 'folder',
})

// Query mode
const view2 = await airstore.views.create('ws_abc123', {
  integration: 'github',
  name: 'Open PRs',
  filter: {
    repo: 'acme/api',
    type: 'prs',
    state: 'open',
    content_type: 'diff',
  },
})
Parameters
ParameterTypeRequiredDefaultDescription
workspaceIdstringYesWorkspace external ID
integrationstringYesIntegration source (gmail, github, gdrive, notion, slack, linear, posthog, web)
namestringYesDisplay name
guidancestringNoNatural language query for LLM inference (smart mode)
filterobjectNoStructured filter object (query mode). Shape depends on the integration — see per-integration filters
outputFormat'folder' | 'file'Nofolderfolder = one file per result; file = single aggregated file
fileExtstringNoFile extension for file output (e.g., .md)
Returns Promise<SourceView>

list()

List all source views in a workspace.
const views = await airstore.views.list('ws_abc123')
Parameters
ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace external ID
Returns Promise<SourceView[]>

retrieve()

Get a source view by its virtual filesystem path.
const view = await airstore.views.retrieve('ws_abc123', '/sources/gmail/Unread Emails')
Parameters
ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace external ID
viewPathstringYesVirtual filesystem path of the view
Returns Promise<SourceView>

update()

Update an existing source view’s name, guidance, or filter.
const updated = await airstore.views.update('ws_abc123', 'view_abc', {
  guidance: 'unread emails from the last 7 days only',
})
Updating the guidance or filter triggers a re-sync with the new query. Parameters
ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace external ID
viewIdstringYesView external ID
namestringNoNew display name
guidancestringNoNew LLM guidance (smart mode)
filterobjectNoNew structured filter (query mode)
Returns Promise<SourceView>

del()

Delete a source view.
await airstore.views.del('ws_abc123', 'view_abc')
Parameters
ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace external ID
viewIdstringYesView external ID
Returns Promise<void>

sync()

Sync a source view — re-execute its query against the live source and refresh cached files.
const result = await airstore.views.sync('ws_abc123', 'view_abc')
console.log(`${result.results_count} total, ${result.new_results} new`)
Idempotent and safe to call repeatedly. Use this when you need fresh data before a read, or as part of a scheduled backend job. Parameters
ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace external ID
viewIdstringYesView external ID
Returns Promise<SyncResult>
FieldTypeDescription
external_idstringView external ID
integrationstringIntegration source
pathstringVirtual filesystem path
modestringsmart or query
last_synced_atstringISO 8601 timestamp
results_countnumberTotal results after sync
new_resultsnumberNewly discovered results

SourceView object

All view methods return (or accept) a SourceView with these fields:
FieldTypeDescription
external_idstringUnique identifier
integrationstringIntegration source
pathstringVirtual filesystem path
namestringDisplay name
modestringsmart or query
guidancestringLLM guidance text (smart mode)
filterobjectStructured filter (query mode)
output_formatstringOutput format
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp