@relayfile/adapter-linear 0.2.8 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,113 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { digest } from './digest.js';
4
+ test('digest returns deterministic Linear bullets sorted by event time and id', async () => {
5
+ const ctx = {
6
+ provider: 'linear',
7
+ window: { from: '2026-05-12T00:00:00.000Z', to: '2026-05-13T00:00:00.000Z' },
8
+ async changeEvents(filter) {
9
+ assert.deepEqual(filter, { providers: ['linear'] });
10
+ return [
11
+ {
12
+ id: 'evt-2',
13
+ timestamp: '2026-05-12T09:00:00.000Z',
14
+ action: 'updated',
15
+ canonicalPath: 'linear/issues/AGE-17__lin_17.json',
16
+ },
17
+ {
18
+ id: 'evt-1',
19
+ timestamp: '2026-05-12T08:00:00.000Z',
20
+ action: 'created',
21
+ canonicalPath: '/linear/issues/AGE-16__lin_16.json',
22
+ },
23
+ ];
24
+ },
25
+ };
26
+ const first = await digest(ctx);
27
+ const second = await digest(ctx);
28
+ assert.deepEqual(first, second);
29
+ assert.deepEqual(first, {
30
+ provider: 'linear',
31
+ bullets: [
32
+ {
33
+ text: 'AGE-16 was created',
34
+ canonicalPath: 'linear/issues/AGE-16__lin_16.json',
35
+ },
36
+ {
37
+ text: 'AGE-17 was updated',
38
+ canonicalPath: 'linear/issues/AGE-17__lin_17.json',
39
+ },
40
+ ],
41
+ });
42
+ });
43
+ test('digest returns null for an empty Linear event window', async () => {
44
+ const ctx = {
45
+ provider: 'linear',
46
+ window: { from: '2026-05-12T00:00:00.000Z', to: '2026-05-13T00:00:00.000Z' },
47
+ async changeEvents() {
48
+ return [];
49
+ },
50
+ };
51
+ assert.equal(await digest(ctx), null);
52
+ });
53
+ test('digest classifies Linear issue completion and cancellation distinctly', async () => {
54
+ const ctx = {
55
+ provider: 'linear',
56
+ window: { from: '2026-05-12T00:00:00.000Z', to: '2026-05-13T00:00:00.000Z' },
57
+ async changeEvents() {
58
+ return [
59
+ {
60
+ id: 'evt-1',
61
+ timestamp: '2026-05-12T08:00:00.000Z',
62
+ action: 'issue.completed',
63
+ canonicalPath: 'linear/issues/AGE-42__finish-digest.json',
64
+ },
65
+ {
66
+ id: 'evt-2',
67
+ timestamp: '2026-05-12T09:00:00.000Z',
68
+ action: 'issue.canceled',
69
+ canonicalPath: 'linear/issues/AGE-43__cancel-digest.json',
70
+ },
71
+ ];
72
+ },
73
+ };
74
+ assert.deepEqual(await digest(ctx), {
75
+ provider: 'linear',
76
+ bullets: [
77
+ {
78
+ text: 'AGE-42 was completed',
79
+ canonicalPath: 'linear/issues/AGE-42__finish-digest.json',
80
+ },
81
+ {
82
+ text: 'AGE-43 was canceled',
83
+ canonicalPath: 'linear/issues/AGE-43__cancel-digest.json',
84
+ },
85
+ ],
86
+ });
87
+ });
88
+ test('digest treats uncanceled Linear wording as updated, not canceled', async () => {
89
+ const ctx = {
90
+ provider: 'linear',
91
+ window: { from: '2026-05-12T00:00:00.000Z', to: '2026-05-13T00:00:00.000Z' },
92
+ async changeEvents() {
93
+ return [
94
+ {
95
+ id: 'evt-1',
96
+ timestamp: '2026-05-12T08:00:00.000Z',
97
+ action: 'issue.uncanceled',
98
+ canonicalPath: 'linear/issues/AGE-44__resume-work.json',
99
+ },
100
+ ];
101
+ },
102
+ };
103
+ assert.deepEqual(await digest(ctx), {
104
+ provider: 'linear',
105
+ bullets: [
106
+ {
107
+ text: 'AGE-44 was updated',
108
+ canonicalPath: 'linear/issues/AGE-44__resume-work.json',
109
+ },
110
+ ],
111
+ });
112
+ });
113
+ //# sourceMappingURL=digest.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.test.js","sourceRoot":"","sources":["../src/digest.test.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@
14
14
  * plus a by-uuid alias keyed on the Linear UUID (always emitted — the
15
15
  * stable reconciliation anchor), a by-id alias keyed on the Linear
16
16
  * `TEAM-123` identifier when present (human-readable lookup), a by-title
17
- * alias when the title slugs to non-empty, and a by-state alias when both
18
- * `state.name` and `identifier` are present. Index row carries
17
+ * alias when the title slugs to non-empty, and grouped issue-tracking
18
+ * aliases for state, assignee, creator, and priority when the required
19
+ * grouping field and `identifier` are present. Index row carries
19
20
  * `{ id, title, updated, identifier, state }`.
20
21
  *
21
22
  * * **comment** — canonical `/linear/comments/<slug>__<id>.json`, no
@@ -1 +1 @@
1
- {"version":3,"file":"emit-auxiliary-files.d.ts","sourceRoot":"","sources":["../src/emit-auxiliary-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAI9B,MAAM,yBAAyB,CAAC;AAyCjC,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACjF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACjF,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAiEnC"}
1
+ {"version":3,"file":"emit-auxiliary-files.d.ts","sourceRoot":"","sources":["../src/emit-auxiliary-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAI9B,MAAM,yBAAyB,CAAC;AA6CjC,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAQpB;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACjF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACjF,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC9C,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAiEnC"}
@@ -14,8 +14,9 @@
14
14
  * plus a by-uuid alias keyed on the Linear UUID (always emitted — the
15
15
  * stable reconciliation anchor), a by-id alias keyed on the Linear
16
16
  * `TEAM-123` identifier when present (human-readable lookup), a by-title
17
- * alias when the title slugs to non-empty, and a by-state alias when both
18
- * `state.name` and `identifier` are present. Index row carries
17
+ * alias when the title slugs to non-empty, and grouped issue-tracking
18
+ * aliases for state, assignee, creator, and priority when the required
19
+ * grouping field and `identifier` are present. Index row carries
19
20
  * `{ id, title, updated, identifier, state }`.
20
21
  *
21
22
  * * **comment** — canonical `/linear/comments/<slug>__<id>.json`, no
@@ -53,11 +54,13 @@
53
54
  import { PriorAliasReader, IndexFileReconciler, runEmitBatch, EMIT_AUXILIARY_JSON_CONTENT_TYPE, } from '@relayfile/adapter-core';
54
55
  import { hasAliasSlug } from './alias-slug.js';
55
56
  import { buildLinearRootIndexFile } from './index-emitter.js';
56
- import { LINEAR_PATH_ROOT, linearByIdAliasPath, linearByTitleAliasPath, linearByUuidAliasPath, linearCommentPath, linearCommentsIndexPath, linearCyclesIndexPath, linearCyclePath, linearIssueByStatePath, linearIssuePath, linearIssuesIndexPath, linearMilestonesIndexPath, linearMilestonePath, linearProjectsIndexPath, linearProjectPath, linearRoadmapsIndexPath, linearRoadmapPath, linearTeamPath, linearTeamsIndexPath, linearUserPath, linearUsersIndexPath, } from './path-mapper.js';
57
+ import { LINEAR_PATH_ROOT, linearByIdAliasPath, linearByNameAliasPath, linearByTitleAliasPath, linearByUuidAliasPath, linearCommentPath, linearCommentsIndexPath, linearCyclesIndexPath, linearCyclePath, linearIssueByAssigneePath, linearIssueByCreatorPath, linearIssueByPriorityPath, linearIssueByStatePath, linearIssuePath, linearIssuesIndexPath, linearMilestonesIndexPath, linearMilestonePath, linearProjectsIndexPath, linearProjectPath, linearRoadmapsIndexPath, linearRoadmapPath, linearTeamPath, linearTeamsIndexPath, linearUserPath, linearUsersIndexPath, } from './path-mapper.js';
57
58
  import { linearCommentIndexRow, linearCycleIndexRow, linearIssueIndexRow, linearMilestoneIndexRow, linearProjectIndexRow, linearRoadmapIndexRow, linearTeamIndexRow, linearUserIndexRow, } from './queries.js';
58
59
  const LINEAR_PROVIDER_NAME = 'linear';
59
60
  const JSON_CONTENT_TYPE = EMIT_AUXILIARY_JSON_CONTENT_TYPE;
60
61
  const ISSUES_SCOPE = `${LINEAR_PATH_ROOT}/issues`;
62
+ const PROJECTS_SCOPE = `${LINEAR_PATH_ROOT}/projects`;
63
+ const TEAMS_SCOPE = `${LINEAR_PATH_ROOT}/teams`;
61
64
  /**
62
65
  * Phase-2 entry point. Cloud's Phase-3 dispatcher iterates
63
66
  * `(provider, records)` and calls this with a shimmed
@@ -176,8 +179,11 @@ async function planIssueWrite(issue, priorReader, indexReconciler, connectionId)
176
179
  const identifier = readNonEmptyString(issue.identifier);
177
180
  const title = readNonEmptyString(issue.title);
178
181
  const stateName = readIssueStateName(issue);
182
+ const assigneeId = readIssueAssigneeId(issue);
183
+ const creatorId = readIssueCreatorId(issue);
184
+ const priority = issue.priority ?? undefined;
179
185
  const content = renderContent('issue', issue, connectionId, false);
180
- const newPaths = issuePathsFor({ id, identifier, title, stateName });
186
+ const newPaths = issuePathsFor({ id, identifier, title, stateName, assigneeId, creatorId, priority });
181
187
  // Reconciliation: the by-uuid alias is the stable anchor — it's always
182
188
  // emitted (keyed on the UUID, which is always present) so a prior write
183
189
  // is guaranteed to have produced it. This resolves the
@@ -197,6 +203,9 @@ async function planIssueWrite(issue, priorReader, indexReconciler, connectionId)
197
203
  identifier: prior.identifier,
198
204
  title: prior.title,
199
205
  stateName: prior.stateName,
206
+ assigneeId: prior.assigneeId,
207
+ creatorId: prior.creatorId,
208
+ priority: prior.priority,
200
209
  }), newPaths)
201
210
  : [];
202
211
  const writes = newPaths.map((path) => ({
@@ -222,6 +231,9 @@ async function planIssueDelete(id, priorReader, indexReconciler) {
222
231
  identifier: prior?.identifier,
223
232
  title: prior?.title,
224
233
  stateName: prior?.stateName,
234
+ assigneeId: prior?.assigneeId,
235
+ creatorId: prior?.creatorId,
236
+ priority: prior?.priority,
225
237
  });
226
238
  // See planPageDelete in the confluence port — index row must drop too.
227
239
  indexReconciler.remove(id);
@@ -235,6 +247,9 @@ function extractPriorIssueState(parsed) {
235
247
  identifier: readNonEmptyString(payload.identifier),
236
248
  title: readNonEmptyString(payload.title),
237
249
  stateName: readPriorStateName(payload),
250
+ assigneeId: readPriorUserId(payload.assignee) ?? readNonEmptyString(payload.assignee_id),
251
+ creatorId: readPriorUserId(payload.creator) ?? readNonEmptyString(payload.creator_id),
252
+ priority: readPriority(payload.priority),
238
253
  };
239
254
  }
240
255
  function readPriorStateName(payload) {
@@ -244,7 +259,7 @@ function readPriorStateName(payload) {
244
259
  readNonEmptyString(payload.state_type));
245
260
  }
246
261
  function issuePathsFor(args) {
247
- const { id, identifier, title, stateName } = args;
262
+ const { id, identifier, title, stateName, assigneeId, creatorId, priority } = args;
248
263
  const humanReadable = identifier ?? title;
249
264
  const paths = [];
250
265
  // Canonical path.
@@ -265,17 +280,40 @@ function issuePathsFor(args) {
265
280
  if (title && slugifies(title)) {
266
281
  paths.push(linearByTitleAliasPath(ISSUES_SCOPE, title, id));
267
282
  }
268
- // by-state alias only when both state and identifier are present, since
269
- // the alias filename is the identifier (Linear's `slugifyStateName`
270
- // helper throws on empty input).
283
+ // Grouped issue-tracking aliases use the public identifier as their stable
284
+ // human-facing leaf, so they are emitted only when the issue has one.
271
285
  if (stateName && identifier) {
272
286
  paths.push(linearIssueByStatePath(stateName, identifier));
273
287
  }
288
+ if (assigneeId && identifier) {
289
+ paths.push(linearIssueByAssigneePath(assigneeId, identifier));
290
+ }
291
+ if (creatorId && identifier) {
292
+ paths.push(linearIssueByCreatorPath(creatorId, identifier));
293
+ }
294
+ if (priority !== undefined && identifier) {
295
+ paths.push(linearIssueByPriorityPath(priority, identifier));
296
+ }
274
297
  return paths;
275
298
  }
276
299
  function readIssueStateName(issue) {
277
300
  return readNonEmptyString(issue.state?.name);
278
301
  }
302
+ function readIssueAssigneeId(issue) {
303
+ return readNonEmptyString(issue.assignee?.id);
304
+ }
305
+ function readIssueCreatorId(issue) {
306
+ return readNonEmptyString(issue.creator?.id);
307
+ }
308
+ function readPriorUserId(value) {
309
+ return isRecord(value) ? readNonEmptyString(value.id) : undefined;
310
+ }
311
+ function readPriority(value) {
312
+ if (typeof value === 'number' && Number.isFinite(value)) {
313
+ return value;
314
+ }
315
+ return readNonEmptyString(value);
316
+ }
279
317
  function toIssueNode(issue) {
280
318
  return {
281
319
  id: issue.id,
@@ -284,6 +322,13 @@ function toIssueNode(issue) {
284
322
  state: issue.state
285
323
  ? { name: issue.state.name ?? null, type: issue.state.type ?? null }
286
324
  : null,
325
+ priority: issue.priority ?? null,
326
+ assignee: issue.assignee
327
+ ? { id: issue.assignee.id ?? null, name: issue.assignee.name ?? null, email: issue.assignee.email ?? null }
328
+ : null,
329
+ creator: issue.creator
330
+ ? { id: issue.creator.id ?? null, name: issue.creator.name ?? null, email: issue.creator.email ?? null }
331
+ : null,
287
332
  updatedAt: issue.updatedAt ?? null,
288
333
  createdAt: issue.createdAt ?? null,
289
334
  };
@@ -362,6 +407,8 @@ async function emitTeams(client, workspaceId, records, connectionId) {
362
407
  indexRow: (record) => linearTeamIndexRow(record),
363
408
  objectType: 'team',
364
409
  connectionId,
410
+ aliasAnchorPath: (id) => linearByIdAliasPath(TEAMS_SCOPE, id),
411
+ aliasPaths: teamAliasPaths,
365
412
  });
366
413
  }
367
414
  async function emitProjects(client, workspaceId, records, connectionId) {
@@ -371,6 +418,8 @@ async function emitProjects(client, workspaceId, records, connectionId) {
371
418
  indexRow: (record) => linearProjectIndexRow(record),
372
419
  objectType: 'project',
373
420
  connectionId,
421
+ aliasAnchorPath: (id) => linearByIdAliasPath(PROJECTS_SCOPE, id),
422
+ aliasPaths: projectAliasPaths,
374
423
  });
375
424
  }
376
425
  async function emitCycles(client, workspaceId, records, connectionId) {
@@ -414,23 +463,31 @@ async function emitFlatResource(client, workspaceId, records, opts) {
414
463
  contentType: JSON_CONTENT_TYPE,
415
464
  }),
416
465
  });
466
+ const priorReader = new PriorAliasReader(client, workspaceId);
467
+ const aliasReservations = new Map();
417
468
  const fanOut = await runEmitBatch(client, workspaceId, records, async (record) => {
418
469
  if (isDeleteRecord(record)) {
419
470
  indexReconciler.remove(record.id);
420
- return { deletes: [{ path: opts.canonicalPath(record.id) }] };
471
+ const prior = await readFlatPrior(record.id, priorReader, opts);
472
+ const paths = await flatResourcePaths(record.id, prior, opts, priorReader);
473
+ return { deletes: paths.map((path) => ({ path })) };
421
474
  }
422
475
  const id = readNonEmptyString(record.id);
423
476
  if (!id)
424
477
  return {};
425
478
  indexReconciler.upsert(opts.indexRow(record));
479
+ const prior = await readFlatPrior(id, priorReader, opts);
480
+ const paths = await flatResourcePaths(id, record, opts, priorReader, aliasReservations);
481
+ const priorPaths = prior ? await flatResourcePaths(id, prior, opts, priorReader) : [];
482
+ const stalePaths = diffPaths(priorPaths, paths);
483
+ const content = renderContent(opts.objectType, record, opts.connectionId, false);
426
484
  return {
427
- writes: [
428
- {
429
- path: opts.canonicalPath(id),
430
- content: renderContent(opts.objectType, record, opts.connectionId, false),
431
- contentType: JSON_CONTENT_TYPE,
432
- },
433
- ],
485
+ writes: paths.map((path) => ({
486
+ path,
487
+ content,
488
+ contentType: JSON_CONTENT_TYPE,
489
+ })),
490
+ deletes: stalePaths.map((path) => ({ path })),
434
491
  };
435
492
  });
436
493
  const indexResult = await indexReconciler.flush();
@@ -438,6 +495,57 @@ async function emitFlatResource(client, workspaceId, records, opts) {
438
495
  fanOut.errors.push(...indexResult.errors);
439
496
  return fanOut;
440
497
  }
498
+ async function readFlatPrior(id, priorReader, opts) {
499
+ if (!opts.aliasAnchorPath || !opts.aliasPaths)
500
+ return null;
501
+ return priorReader.read(opts.aliasAnchorPath(id), (parsed) => pickPayload(parsed));
502
+ }
503
+ async function flatResourcePaths(id, record, opts, priorReader, aliasReservations) {
504
+ const aliases = record && opts.aliasPaths ? opts.aliasPaths(record, id) : [];
505
+ const resolvedAliases = [];
506
+ for (const alias of aliases) {
507
+ resolvedAliases.push(await resolveFlatAliasPath(alias, id, priorReader, aliasReservations));
508
+ }
509
+ return [opts.canonicalPath(id), ...resolvedAliases];
510
+ }
511
+ async function resolveFlatAliasPath(alias, id, priorReader, aliasReservations) {
512
+ if (typeof alias === 'string') {
513
+ return alias;
514
+ }
515
+ const reservedId = aliasReservations?.get(alias.path);
516
+ if (reservedId && reservedId !== id) {
517
+ aliasReservations?.set(alias.collisionPath, id);
518
+ return alias.collisionPath;
519
+ }
520
+ const existing = await priorReader.read(alias.path);
521
+ const existingId = readNonEmptyString(existing?.objectId) ??
522
+ (existing ? readNonEmptyString(pickPayload(existing)?.id) : undefined);
523
+ const path = existingId && existingId !== id ? alias.collisionPath : alias.path;
524
+ aliasReservations?.set(path, id);
525
+ return path;
526
+ }
527
+ function projectAliasPaths(record, id) {
528
+ const paths = [linearByIdAliasPath(PROJECTS_SCOPE, id)];
529
+ const name = readNonEmptyString(record.name);
530
+ if (name && slugifies(name)) {
531
+ paths.push({
532
+ path: linearByTitleAliasPath(PROJECTS_SCOPE, name, id),
533
+ collisionPath: linearByTitleAliasPath(PROJECTS_SCOPE, name, id, true),
534
+ });
535
+ }
536
+ return paths;
537
+ }
538
+ function teamAliasPaths(record, id) {
539
+ const paths = [linearByIdAliasPath(TEAMS_SCOPE, id)];
540
+ const name = readNonEmptyString(record.name) ?? readNonEmptyString(record.key);
541
+ if (name && slugifies(name)) {
542
+ paths.push({
543
+ path: linearByNameAliasPath(TEAMS_SCOPE, name, id),
544
+ collisionPath: linearByNameAliasPath(TEAMS_SCOPE, name, id, true),
545
+ });
546
+ }
547
+ return paths;
548
+ }
441
549
  // -- shared helpers ---------------------------------------------------------
442
550
  function renderContent(objectType, payload, connectionId, deleted) {
443
551
  return JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"emit-auxiliary-files.js","sourceRoot":"","sources":["../src/emit-auxiliary-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-auxiliary-files.js","sourceRoot":"","sources":["../src/emit-auxiliary-files.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './linear-adapter.js';
2
+ export * from './digest.js';
2
3
  export * from './index-emitter.js';
4
+ export * from './layout.js';
3
5
  export * from './layout-prompt.js';
4
6
  export * from './path-mapper.js';
5
7
  export * from './summary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // Public barrel for runtime helpers, normalizers, and exported types.
2
2
  export * from './linear-adapter.js';
3
+ export * from './digest.js';
3
4
  export * from './index-emitter.js';
5
+ export * from './layout.js';
4
6
  export * from './layout-prompt.js';
5
7
  export * from './path-mapper.js';
6
8
  export * from './summary.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const LINEAR_LAYOUT_PROMPT = "# Linear Mount Layout\n\nAlways run `ls` before constructing a path. PR 0 standardizes human-readable leaf names to `<sanitized-name>__<id>`, so consumers should inspect the live directory instead of guessing a filename.\n\n## Tree\n\n`/linear/LAYOUT.md` is this guide.\n`/linear/issues/`, `/linear/comments/`, `/linear/users/`, `/linear/teams/`, `/linear/projects/`, `/linear/cycles/`, `/linear/milestones/`, and `/linear/roadmaps/` each own their canonical JSON records plus a sibling `_index.json`.\n\nIssue lookups: `/linear/issues/by-uuid/<uuid>.json` is the stable anchor (always emitted, keyed on the Linear UUID). `/linear/issues/by-id/<TEAM-123>.json` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). `/linear/issues/by-title/<slug>.json` and `/linear/issues/by-state/<state>/<TEAM-123>.json` are additional lookups.\n\nIssue lookups: `/linear/issues/by-uuid/<uuid>.json` is the stable anchor (always emitted, keyed on the Linear UUID). `/linear/issues/by-id/<TEAM-123>.json` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). `/linear/issues/by-title/<slug>.json` and `/linear/issues/by-state/<state>/<TEAM-123>.json` are additional lookups.\n\n## Indexes\n\n`/linear/issues/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"identifier\": \"<TEAM-123>\", \"state\": \"<state name>\" }\n```\n\n`/linear/comments/_index.json`, `/linear/users/_index.json`, `/linear/teams/_index.json`, `/linear/projects/_index.json`, `/linear/cycles/_index.json`, `/linear/milestones/_index.json`, and `/linear/roadmaps/_index.json` use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\" }\n```\n\n## JSONL And Querying\n\nLinear does not emit JSONL in this adapter today. Comments are individual `.json` records rather than `comments.jsonl`.\n\nExamples:\n\n```bash\nls /linear/issues\njq '.[0]' /linear/issues/_index.json\njq '.[] | {identifier, state, title}' /linear/issues/_index.json\ngrep -R \"ENG-\" /linear/comments\n```\n";
1
+ export declare const LINEAR_LAYOUT_PROMPT = "# Linear Mount Layout\n\nAlways run `ls` before constructing a path. PR 0 standardizes human-readable leaf names to `<sanitized-name>__<id>`, so consumers should inspect the live directory instead of guessing a filename.\n\n## Tree\n\n`/linear/LAYOUT.md` is this guide.\n`/linear/issues/`, `/linear/comments/`, `/linear/users/`, `/linear/teams/`, `/linear/projects/`, `/linear/cycles/`, `/linear/milestones/`, and `/linear/roadmaps/` each own their canonical JSON records plus a sibling `_index.json`.\n\nIssue lookups: `/linear/issues/by-uuid/<uuid>.json` is the stable anchor (always emitted, keyed on the Linear UUID). `/linear/issues/by-id/<TEAM-123>.json` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). `/linear/issues/by-title/<slug>.json`, `/linear/issues/by-state/<state>/<TEAM-123>.json`, `/linear/issues/by-assignee/<user-id>/<TEAM-123>.json`, `/linear/issues/by-creator/<user-id>/<TEAM-123>.json`, and `/linear/issues/by-priority/<priority>/<TEAM-123>.json` are additional lookups.\n\n## Indexes\n\n`/linear/issues/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"identifier\": \"<TEAM-123>\", \"state\": \"<state name>\" }\n```\n\n`/linear/comments/_index.json`, `/linear/users/_index.json`, `/linear/teams/_index.json`, `/linear/projects/_index.json`, `/linear/cycles/_index.json`, `/linear/milestones/_index.json`, and `/linear/roadmaps/_index.json` use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\" }\n```\n\n## JSONL And Querying\n\nLinear does not emit JSONL in this adapter today. Comments are individual `.json` records rather than `comments.jsonl`.\n\nExamples:\n\n```bash\nls /linear/issues\njq '.[0]' /linear/issues/_index.json\njq '.[] | {identifier, state, title}' /linear/issues/_index.json\nls /linear/issues/by-assignee\nls /linear/issues/by-priority\ngrep -R \"ENG-\" /linear/comments\n```\n";
2
2
  export declare function linearLayoutPromptFile(): {
3
3
  path: string;
4
4
  contentType: "text/markdown; charset=utf-8";
@@ -1 +1 @@
1
- {"version":3,"file":"layout-prompt.d.ts","sourceRoot":"","sources":["../src/layout-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,ulEAuChC,CAAC;AAEF,wBAAgB,sBAAsB;;;;EAMrC"}
1
+ {"version":3,"file":"layout-prompt.d.ts","sourceRoot":"","sources":["../src/layout-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,w8DAuChC,CAAC;AAEF,wBAAgB,sBAAsB;;;;EAMrC"}
@@ -7,9 +7,7 @@ Always run \`ls\` before constructing a path. PR 0 standardizes human-readable l
7
7
  \`/linear/LAYOUT.md\` is this guide.
8
8
  \`/linear/issues/\`, \`/linear/comments/\`, \`/linear/users/\`, \`/linear/teams/\`, \`/linear/projects/\`, \`/linear/cycles/\`, \`/linear/milestones/\`, and \`/linear/roadmaps/\` each own their canonical JSON records plus a sibling \`_index.json\`.
9
9
 
10
- Issue lookups: \`/linear/issues/by-uuid/<uuid>.json\` is the stable anchor (always emitted, keyed on the Linear UUID). \`/linear/issues/by-id/<TEAM-123>.json\` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). \`/linear/issues/by-title/<slug>.json\` and \`/linear/issues/by-state/<state>/<TEAM-123>.json\` are additional lookups.
11
-
12
- Issue lookups: \`/linear/issues/by-uuid/<uuid>.json\` is the stable anchor (always emitted, keyed on the Linear UUID). \`/linear/issues/by-id/<TEAM-123>.json\` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). \`/linear/issues/by-title/<slug>.json\` and \`/linear/issues/by-state/<state>/<TEAM-123>.json\` are additional lookups.
10
+ Issue lookups: \`/linear/issues/by-uuid/<uuid>.json\` is the stable anchor (always emitted, keyed on the Linear UUID). \`/linear/issues/by-id/<TEAM-123>.json\` is the human-readable lookup keyed on the Linear identifier (only emitted when the issue has one). \`/linear/issues/by-title/<slug>.json\`, \`/linear/issues/by-state/<state>/<TEAM-123>.json\`, \`/linear/issues/by-assignee/<user-id>/<TEAM-123>.json\`, \`/linear/issues/by-creator/<user-id>/<TEAM-123>.json\`, and \`/linear/issues/by-priority/<priority>/<TEAM-123>.json\` are additional lookups.
13
11
 
14
12
  ## Indexes
15
13
 
@@ -35,6 +33,8 @@ Examples:
35
33
  ls /linear/issues
36
34
  jq '.[0]' /linear/issues/_index.json
37
35
  jq '.[] | {identifier, state, title}' /linear/issues/_index.json
36
+ ls /linear/issues/by-assignee
37
+ ls /linear/issues/by-priority
38
38
  grep -R "ENG-" /linear/comments
39
39
  \`\`\`
40
40
  `;
@@ -0,0 +1,4 @@
1
+ import type { LayoutManifestProvider as CoreLayoutManifestProvider } from '@relayfile/adapter-core';
2
+ export type { LayoutManifest, LayoutManifestProvider, LayoutResourceManifest, MaterializationMode, WritebackResourceManifest, } from '@relayfile/adapter-core';
3
+ export declare const layoutManifest: CoreLayoutManifestProvider;
4
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEpG,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc,EAAE,0BAiC3B,CAAC"}
package/dist/layout.js ADDED
@@ -0,0 +1,35 @@
1
+ export const layoutManifest = () => ({
2
+ provider: 'linear',
3
+ filenameConvention: '<identifier>__<uuid>.json',
4
+ // Top-level aliasSegments is the union of every resource's alias segments
5
+ // so consumers that inspect only the manifest root can discover all
6
+ // lookup keys. `by-name` belongs here because `linear/teams` exposes it.
7
+ aliasSegments: ['by-assignee', 'by-creator', 'by-id', 'by-name', 'by-priority', 'by-title', 'by-state', 'by-uuid'],
8
+ resources: [
9
+ {
10
+ path: 'linear/issues',
11
+ title: 'Issues',
12
+ materialization: 'eager',
13
+ aliasSegments: ['by-uuid', 'by-id', 'by-title', 'by-state', 'by-assignee', 'by-creator', 'by-priority'],
14
+ writebackResources: [
15
+ { path: 'linear/issues', schemaId: 'linear/issue' },
16
+ { path: 'linear/issues/comments', schemaId: 'linear/comment' },
17
+ ],
18
+ },
19
+ {
20
+ path: 'linear/projects',
21
+ title: 'Projects',
22
+ materialization: 'eager',
23
+ aliasSegments: ['by-id', 'by-title'],
24
+ writebackResources: [],
25
+ },
26
+ {
27
+ path: 'linear/teams',
28
+ title: 'Teams',
29
+ materialization: 'eager',
30
+ aliasSegments: ['by-id', 'by-name'],
31
+ writebackResources: [],
32
+ },
33
+ ],
34
+ });
35
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,cAAc,GAA+B,GAAG,EAAE,CAAC,CAAC;IAC/D,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,2BAA2B;IAC/C,0EAA0E;IAC1E,oEAAoE;IACpE,yEAAyE;IACzE,aAAa,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IAClH,SAAS,EAAE;QACT;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,OAAO;YACxB,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC;YACvG,kBAAkB,EAAE;gBAClB,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACnD,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;aAC/D;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,UAAU;YACjB,eAAe,EAAE,OAAO;YACxB,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YACpC,kBAAkB,EAAE,EAAE;SACvB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,OAAO;YACd,eAAe,EAAE,OAAO;YACxB,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;YACnC,kBAAkB,EAAE,EAAE;SACvB;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.test.d.ts","sourceRoot":"","sources":["../src/layout.test.ts"],"names":[],"mappings":""}