Skip to content

Add shared materialization policy to chat and collaboration adapters #196

Description

@khaliqgant

Context

Tracking issue for applying the shared materialization policy from #194 to chat/collaboration adapters where channel/message history sync is expensive.

Umbrella: #195

Candidate adapters

  • Slack
  • Teams

These should only expose materialization config if the adapter has a bulk/history sync path where lazy channel/team defaults avoid substantial work.

Suggested provider shapes

  • Slack: targets such as workspaces/channels, resources such as messages/replies/reactions/users depending on current sync support.
  • Teams: targets such as teams/channels/chats, resources such as messages/replies/members depending on current sync support.

Exact names should follow existing canonical paths and adapter config vocabulary.

Acceptance criteria

  • Use adapter-core shared materialization utilities.
  • Preserve existing eager/default behavior.
  • Add provider-specific webhook lazy opt-out names if needed, e.g. webhookWritesForLazyChannels.
  • Avoid applying issue-style filters if provider APIs do not support them; define provider-appropriate filters such as since, channel type, archived state, or membership when available.
  • Tests cover channel/team exact and glob matching, lazy default, eager selected channel/team, incremental history cursor, and webhook behavior.
  • README documents what is and is not materialized lazily.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions