Skip to content

Commit a2dfeeb

Browse files
authored
Merge pull request #151 from codeflash-ai/feature/connector-manifest-v1
Standardize connector extension contracts
2 parents 4340e9d + 754765c commit a2dfeeb

34 files changed

Lines changed: 3515 additions & 71 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ jobs:
6767
fi
6868
- name: Check Rust formatting
6969
run: cargo fmt --all -- --check
70+
- name: Validate connector extension contracts
71+
run: |
72+
cargo test -p locality-connector --test manifest_contract --test conformance_testkit
73+
cargo test -p localityd --test connector_manifest
7074
- name: Run Rust tests
7175
run: cargo test --workspace --all-targets
7276
- name: Run real Linux FUSE smoke test

.github/workflows/docs.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@ on:
66
- main
77
paths:
88
- ".github/workflows/docs.yml"
9+
- "connectors/**"
10+
- "docs/connector-development.md"
911
- "Makefile"
12+
- "README.md"
1013
- "docs-site/**"
1114
- "scripts/mintlify-docs.sh"
1215
pull_request:
1316
paths:
1417
- ".github/workflows/docs.yml"
18+
- "connectors/**"
19+
- "docs/connector-development.md"
1520
- "Makefile"
21+
- "README.md"
1622
- "docs-site/**"
1723
- "scripts/mintlify-docs.sh"
1824
workflow_dispatch:

Cargo.lock

Lines changed: 207 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ Locality currently includes:
6464
restoring, inspecting, and debugging mounts;
6565
- a per-user daemon process, `localityd`, that owns hydration, background freshness,
6666
virtual filesystem requests, local write tracking, and Live Mode;
67-
- a Notion connector that renders pages/databases to canonical Markdown,
68-
supports conservative block/property writes, handles media under `.loc/media`,
69-
and reconciles changed pages after pushes;
67+
- seven direct connectors: Notion and Google Docs with conservative document
68+
writes, Google Calendar and Gmail with reviewed draft creation, Linear with
69+
issue edits, and read-only Granola and Slack projections;
7070
- virtual filesystem projections through macOS File Provider, Linux FUSE, and
7171
Windows Cloud Files.
7272
- generated `AGENTS.md` and `CLAUDE.md` guidance inside mounts so coding agents
@@ -225,7 +225,7 @@ locality-core + locality-store
225225
three-tree planner, validation, journals, SQLite state
226226
|
227227
v
228-
connector SDK
228+
connector SDK + descriptive connector registry
229229
|
230230
v
231231
locality-notion -> Notion API
@@ -240,7 +240,13 @@ Core crates and directories:
240240
| `crates/localityd` | Per-user daemon for mounts, hydration, freshness, virtual filesystem IPC, and Live Mode. |
241241
| `crates/locality-core` | Connector-neutral sync model, canonical Markdown, diff planning, validation, guardrails, conflicts, and journals. |
242242
| `crates/locality-connector` | Connector trait and data types for enumerate, fetch, render, parse, apply, and reverse apply. |
243+
| `connectors/` | Versioned language-neutral connector registry and JSON schema. |
243244
| `crates/locality-notion` | Notion API client, DTOs, renderer, parser/apply support, database schema handling, media, and OAuth integration. |
245+
| `crates/locality-google-docs` | Google Docs/Drive projection, rendering, OAuth, and conservative document writes. |
246+
| `crates/locality-google-calendar` | Primary-calendar event projection and reviewed event-draft creation. |
247+
| `crates/locality-gmail` | Read-only mail projection and reviewed Gmail draft creation. |
248+
| `crates/locality-granola` | Read-only Granola meeting summary and transcript projection. |
249+
| `crates/locality-linear` | Linear issue projection, issue edits, context sidecars, and API-key auth. |
244250
| `crates/locality-slack` | Slack Web API client, OAuth credential handling, read-only conversation projection, and Markdown rendering. |
245251
| `crates/locality-store` | SQLite state store, migrations, mounts, entities, shadows, journals, credentials metadata, and freshness state. |
246252
| `platform/linux/locality-fuse` | Linux FUSE helper for online-only virtual mounts. |

0 commit comments

Comments
 (0)