@relayfile/adapter-confluence 0.1.1 → 0.1.2

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.
@@ -1,7 +1,7 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { ConfluenceAdapter, } from '../confluence-adapter.js';
4
- import { computeConfluencePath, confluencePagePath, confluenceSpacePath, } from '../path-mapper.js';
4
+ import { computeConfluencePath, confluencePageByIdAliasPath, confluencePageByParentAliasPath, confluencePageBySpaceAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluenceSpaceByIdAliasPath, confluenceSpaceByKeyAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, } from '../path-mapper.js';
5
5
  import { resolveConfluenceReadRequest } from '../queries.js';
6
6
  import { ReadOnlyFieldError, resolveConfluenceDeleteRequest, resolveConfluenceWritebackRequest, } from '../writeback.js';
7
7
  function createClient() {
@@ -47,7 +47,7 @@ describe('ConfluenceAdapter', () => {
47
47
  });
48
48
  assert.equal(adapter.materializePage({ id: '98765', title: 'Release Plan', spaceId: '12345' }).path, '/confluence/spaces/12345/pages/release-plan__98765.json');
49
49
  });
50
- it('ingests page events with space relations and body comments', async () => {
50
+ it('ingests page events with space relations, body comments, and by-* alias fan-out', async () => {
51
51
  const client = createClient();
52
52
  const adapter = createAdapter(client);
53
53
  const result = await adapter.ingestWebhook('workspace-1', {
@@ -60,16 +60,268 @@ describe('ConfluenceAdapter', () => {
60
60
  title: 'Release Plan',
61
61
  status: 'current',
62
62
  spaceId: '12345',
63
+ parentId: '44444',
63
64
  body: { storage: { value: '<p>Ship carefully.</p>', representation: 'storage' } },
64
65
  },
65
66
  });
66
- assert.equal(result.filesWritten, 1);
67
- assert.equal(client.writes[0]?.path, '/confluence/spaces/12345/pages/release-plan__98765.json');
67
+ const canonicalPath = '/confluence/spaces/12345/pages/release-plan__98765.json';
68
+ const expectedAliasPaths = [
69
+ confluencePageByIdAliasPath('98765'),
70
+ confluencePageByTitleAliasPath('Release Plan', '98765'),
71
+ confluencePageByStatePath('current', '98765'),
72
+ confluencePageBySpaceAliasPath('12345', '98765'),
73
+ confluencePageByParentAliasPath('44444', '98765'),
74
+ ];
75
+ // Canonical record + every applicable alias path are written with identical
76
+ // bytes — readers can pick whichever lookup primitive they have.
77
+ assert.equal(result.filesWritten, 1 + expectedAliasPaths.length);
78
+ assert.deepEqual(result.paths, [canonicalPath, ...expectedAliasPaths]);
79
+ const canonicalContent = client.writes.find((write) => write.path === canonicalPath)?.content;
80
+ assert.ok(canonicalContent, 'canonical content must be present');
81
+ for (const aliasPath of expectedAliasPaths) {
82
+ const aliasWrite = client.writes.find((write) => write.path === aliasPath);
83
+ assert.ok(aliasWrite, `alias ${aliasPath} must be written`);
84
+ assert.equal(aliasWrite?.content, canonicalContent, `alias ${aliasPath} bytes must match canonical`);
85
+ }
68
86
  assert.deepEqual(client.writes[0]?.semantics?.relations, [
69
87
  confluenceSpacePath('12345'),
88
+ confluencePagePath('44444'),
70
89
  ]);
71
90
  assert.equal(client.writes[0]?.semantics?.comments?.[0], 'Ship carefully.');
72
91
  });
92
+ it('skips by-title alias when the page title slugs to nothing', async () => {
93
+ const client = createClient();
94
+ const adapter = createAdapter(client);
95
+ await adapter.ingestWebhook('workspace-1', {
96
+ provider: 'confluence',
97
+ eventType: 'page.created',
98
+ objectType: 'page',
99
+ objectId: '11111',
100
+ payload: { id: '11111', title: '🚀🔥', status: 'current', spaceId: '12345' },
101
+ });
102
+ // by-id, by-state, by-space — no by-title, no by-parent.
103
+ const aliasPaths = client.writes.map((write) => write.path).filter((path) => path.includes('/by-'));
104
+ assert.deepEqual(aliasPaths, [
105
+ confluencePageByIdAliasPath('11111'),
106
+ confluencePageByStatePath('current', '11111'),
107
+ confluencePageBySpaceAliasPath('12345', '11111'),
108
+ ]);
109
+ });
110
+ it('emits space by-id, by-title, and by-key aliases on space ingest', async () => {
111
+ const client = createClient();
112
+ const adapter = createAdapter(client);
113
+ await adapter.ingestWebhook('workspace-1', {
114
+ provider: 'confluence',
115
+ eventType: 'space.updated',
116
+ objectType: 'space',
117
+ objectId: '12345',
118
+ payload: { id: '12345', key: 'ENG', name: 'Engineering' },
119
+ });
120
+ const canonicalPath = '/confluence/spaces/engineering__12345.json';
121
+ const expectedAliasPaths = [
122
+ confluenceSpaceByIdAliasPath('12345'),
123
+ confluenceSpaceByTitleAliasPath('Engineering', '12345'),
124
+ confluenceSpaceByKeyAliasPath('ENG'),
125
+ ];
126
+ assert.deepEqual(client.writes.map((write) => write.path), [canonicalPath, ...expectedAliasPaths]);
127
+ });
128
+ it('deletes the canonical path and every alias on a delete event', async () => {
129
+ const client = createClient();
130
+ const adapter = createAdapter(client);
131
+ const result = await adapter.ingestWebhook('workspace-1', {
132
+ provider: 'confluence',
133
+ eventType: 'page.deleted',
134
+ objectType: 'page',
135
+ objectId: '98765',
136
+ payload: { id: '98765', title: 'Release Plan', status: 'current', spaceId: '12345' },
137
+ });
138
+ const canonicalPath = '/confluence/spaces/12345/pages/release-plan__98765.json';
139
+ const expectedAliasPaths = [
140
+ confluencePageByIdAliasPath('98765'),
141
+ confluencePageByTitleAliasPath('Release Plan', '98765'),
142
+ confluencePageByStatePath('current', '98765'),
143
+ confluencePageBySpaceAliasPath('12345', '98765'),
144
+ ];
145
+ assert.equal(result.filesDeleted, 1 + expectedAliasPaths.length);
146
+ assert.deepEqual(client.deletes.map((d) => d.path), [canonicalPath, ...expectedAliasPaths]);
147
+ });
148
+ it('materializePageFiles returns the canonical path plus every applicable alias', () => {
149
+ const adapter = createAdapter();
150
+ const { paths } = adapter.materializePageFiles({
151
+ id: '98765',
152
+ title: 'Release Plan',
153
+ status: 'current',
154
+ spaceId: '12345',
155
+ parentId: '44444',
156
+ });
157
+ assert.deepEqual(paths, [
158
+ '/confluence/spaces/12345/pages/release-plan__98765.json',
159
+ confluencePageByIdAliasPath('98765'),
160
+ confluencePageByTitleAliasPath('Release Plan', '98765'),
161
+ confluencePageByStatePath('current', '98765'),
162
+ confluencePageBySpaceAliasPath('12345', '98765'),
163
+ confluencePageByParentAliasPath('44444', '98765'),
164
+ ]);
165
+ });
166
+ it('materializeSpaceFiles returns the canonical path plus every applicable alias', () => {
167
+ const adapter = createAdapter();
168
+ const { paths } = adapter.materializeSpaceFiles({
169
+ id: '12345',
170
+ key: 'ENG',
171
+ name: 'Engineering',
172
+ });
173
+ assert.deepEqual(paths, [
174
+ '/confluence/spaces/engineering__12345.json',
175
+ confluenceSpaceByIdAliasPath('12345'),
176
+ confluenceSpaceByTitleAliasPath('Engineering', '12345'),
177
+ confluenceSpaceByKeyAliasPath('ENG'),
178
+ ]);
179
+ });
180
+ it('continues fanning out aliases when one writeFile throws and reports the failed path', async () => {
181
+ // A mid-loop throw used to abandon the rest of the fan-out, leaving the
182
+ // canonical record and earlier aliases written but later aliases missing.
183
+ // Now each write is independent: the canonical + the surviving aliases
184
+ // land, the bad path is reported in `errors`, and the caller can retry
185
+ // just that path.
186
+ const failingPath = confluencePageByTitleAliasPath('Release Plan', '98765');
187
+ const client = {
188
+ writes: [],
189
+ deletes: [],
190
+ async writeFile(input) {
191
+ if (input.path === failingPath) {
192
+ throw new Error('synthetic backend error');
193
+ }
194
+ this.writes.push(input);
195
+ return { created: true };
196
+ },
197
+ async deleteFile(input) {
198
+ this.deletes.push(input);
199
+ },
200
+ };
201
+ const adapter = createAdapter(client);
202
+ const result = await adapter.ingestWebhook('workspace-1', {
203
+ provider: 'confluence',
204
+ eventType: 'page.updated',
205
+ objectType: 'page',
206
+ objectId: '98765',
207
+ payload: { id: '98765', title: 'Release Plan', status: 'current', spaceId: '12345' },
208
+ });
209
+ assert.equal(result.errors.length, 1);
210
+ assert.equal(result.errors[0].path, failingPath);
211
+ assert.match(result.errors[0].error, /synthetic backend error/);
212
+ const expectedWrittenPaths = [
213
+ '/confluence/spaces/12345/pages/release-plan__98765.json',
214
+ confluencePageByIdAliasPath('98765'),
215
+ confluencePageByStatePath('current', '98765'),
216
+ confluencePageBySpaceAliasPath('12345', '98765'),
217
+ ];
218
+ assert.deepEqual(client.writes.map((w) => w.path), expectedWrittenPaths);
219
+ assert.deepEqual(result.paths, expectedWrittenPaths);
220
+ });
221
+ it('deletes stale aliases on rename via the by-id reconciliation path', async () => {
222
+ // When an alias-driving field changes (here: title), the prior alias
223
+ // paths (`by-title/release-plan__98765.json` and the old canonical
224
+ // `release-plan__98765.json`) become orphans. Reconciliation reads the
225
+ // stable by-id alias to recover the prior payload, computes the prior
226
+ // alias set, and deletes the diff before writing the new alias set.
227
+ const priorPayload = { id: '98765', title: 'Release Plan', status: 'current', spaceId: '12345' };
228
+ const priorWrapper = {
229
+ provider: 'confluence',
230
+ workspaceId: 'workspace-1',
231
+ objectType: 'page',
232
+ objectId: '98765',
233
+ deleted: false,
234
+ payload: priorPayload,
235
+ connectionId: 'conn-confluence',
236
+ };
237
+ const reads = [];
238
+ const client = {
239
+ writes: [],
240
+ deletes: [],
241
+ async writeFile(input) {
242
+ this.writes.push(input);
243
+ return { updated: true };
244
+ },
245
+ async deleteFile(input) {
246
+ this.deletes.push(input);
247
+ },
248
+ async readFile(input) {
249
+ reads.push(input);
250
+ if (input.path === confluencePageByIdAliasPath('98765')) {
251
+ return { content: JSON.stringify(priorWrapper, null, 2) };
252
+ }
253
+ return null;
254
+ },
255
+ };
256
+ const adapter = createAdapter(client);
257
+ await adapter.ingestWebhook('workspace-1', {
258
+ provider: 'confluence',
259
+ eventType: 'page.updated',
260
+ objectType: 'page',
261
+ objectId: '98765',
262
+ payload: { id: '98765', title: 'Launch Plan', status: 'current', spaceId: '12345' },
263
+ });
264
+ // The reconciliation read targeted the stable by-id path.
265
+ assert.deepEqual(reads, [{ workspaceId: 'workspace-1', path: confluencePageByIdAliasPath('98765') }]);
266
+ // Stale paths from the prior title were deleted: old canonical + old by-title.
267
+ const deletedPaths = new Set(client.deletes.map((d) => d.path));
268
+ assert.ok(deletedPaths.has('/confluence/spaces/12345/pages/release-plan__98765.json'), 'expected old canonical path to be deleted');
269
+ assert.ok(deletedPaths.has(confluencePageByTitleAliasPath('Release Plan', '98765')), 'expected old by-title alias to be deleted');
270
+ // The stable by-id, by-state, by-space aliases are unchanged → not deleted.
271
+ assert.ok(!deletedPaths.has(confluencePageByIdAliasPath('98765')));
272
+ assert.ok(!deletedPaths.has(confluencePageByStatePath('current', '98765')));
273
+ assert.ok(!deletedPaths.has(confluencePageBySpaceAliasPath('12345', '98765')));
274
+ // New canonical + new by-title written.
275
+ const writtenPaths = new Set(client.writes.map((w) => w.path));
276
+ assert.ok(writtenPaths.has('/confluence/spaces/12345/pages/launch-plan__98765.json'));
277
+ assert.ok(writtenPaths.has(confluencePageByTitleAliasPath('Launch Plan', '98765')));
278
+ });
279
+ it('skips reconciliation when client has no readFile (legacy adapters keep working)', async () => {
280
+ // Pre-#69 behavior: clients without readFile see no reconciliation. The
281
+ // adapter must still write the new alias set; it just can't clean up
282
+ // stale aliases. This is the "degrade gracefully" contract.
283
+ const client = createClient(); // no readFile defined
284
+ const adapter = createAdapter(client);
285
+ const result = await adapter.ingestWebhook('workspace-1', {
286
+ provider: 'confluence',
287
+ eventType: 'page.updated',
288
+ objectType: 'page',
289
+ objectId: '98765',
290
+ payload: { id: '98765', title: 'Launch Plan', status: 'current', spaceId: '12345' },
291
+ });
292
+ assert.equal(result.errors.length, 0);
293
+ assert.deepEqual(client.deletes, []);
294
+ assert.ok(client.writes.length > 0);
295
+ });
296
+ it('treats readFile errors as non-fatal and proceeds with the write fan-out', async () => {
297
+ // A 5xx on the reconciliation read must not block the canonical write —
298
+ // stale aliases are a maintenance concern, not a correctness blocker.
299
+ const client = {
300
+ writes: [],
301
+ deletes: [],
302
+ async writeFile(input) {
303
+ this.writes.push(input);
304
+ return { created: true };
305
+ },
306
+ async deleteFile(input) {
307
+ this.deletes.push(input);
308
+ },
309
+ async readFile() {
310
+ throw new Error('synthetic 503 from relayfile');
311
+ },
312
+ };
313
+ const adapter = createAdapter(client);
314
+ const result = await adapter.ingestWebhook('workspace-1', {
315
+ provider: 'confluence',
316
+ eventType: 'page.updated',
317
+ objectType: 'page',
318
+ objectId: '98765',
319
+ payload: { id: '98765', title: 'Launch Plan', status: 'current', spaceId: '12345' },
320
+ });
321
+ assert.equal(result.errors.length, 0);
322
+ assert.deepEqual(client.deletes, []); // no reconciliation deletes attempted
323
+ assert.ok(client.writes.length > 0); // canonical write still landed
324
+ });
73
325
  it('resolves Confluence read requests to Cloud REST API v2 paths', () => {
74
326
  assert.deepEqual(resolveConfluenceReadRequest('/confluence/pages'), {
75
327
  action: 'list_pages',
@@ -1 +1 @@
1
- {"version":3,"file":"confluence-adapter.test.js","sourceRoot":"","sources":["../../src/__tests__/confluence-adapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confluence-adapter.test.js","sourceRoot":"","sources":["../../src/__tests__/confluence-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ describe('confluence layout prompt', () => {
13
13
  assert.match(file.content, /\/confluence\/spaces\//u);
14
14
  assert.match(file.content, /by-title/u);
15
15
  assert.match(file.content, /by-id/u);
16
+ assert.match(file.content, /by-state/u);
17
+ assert.match(file.content, /by-space/u);
18
+ assert.match(file.content, /by-parent/u);
19
+ assert.match(file.content, /by-key/u);
20
+ assert.match(file.content, /jq /u);
16
21
  });
17
22
  });
18
23
  //# sourceMappingURL=layout-prompt.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-prompt.test.js","sourceRoot":"","sources":["../../src/__tests__/layout-prompt.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC;QAE1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"layout-prompt.test.js","sourceRoot":"","sources":["../../src/__tests__/layout-prompt.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC;QAE1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from '../path-mapper.js';
3
+ import { computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByParentAliasPath, confluencePageBySpaceAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpaceByKeyAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from '../path-mapper.js';
4
4
  describe('confluence path-mapper', () => {
5
5
  describe('normalizeConfluenceObjectType', () => {
6
6
  it('accepts canonical and plural variants', () => {
@@ -78,6 +78,22 @@ describe('confluence path-mapper', () => {
78
78
  it('rejects empty status names', () => {
79
79
  assert.throws(() => slugifyStatusName(' '));
80
80
  });
81
+ it('emits a by-key alias path that preserves the space key verbatim', () => {
82
+ assert.equal(confluenceSpaceByKeyAliasPath('ENG'), '/confluence/spaces/by-key/ENG.json');
83
+ assert.equal(confluenceSpaceByKeyAliasPath('Ops Team'), '/confluence/spaces/by-key/Ops%20Team.json');
84
+ });
85
+ it('emits by-space and by-parent alias paths nested under the parent id segment', () => {
86
+ assert.equal(confluencePageBySpaceAliasPath('12345', '98765'), '/confluence/pages/by-space/12345/98765.json');
87
+ assert.equal(confluencePageByParentAliasPath('44444', '98765'), '/confluence/pages/by-parent/44444/98765.json');
88
+ });
89
+ it('round-trips by-space/by-parent leaves back to the canonical page id', () => {
90
+ const aliasPath = confluencePageBySpaceAliasPath('12345', '98765');
91
+ const leaf = aliasPath.split('/').pop().replace(/\.json$/u, '');
92
+ assert.equal(extractConfluenceIdFromPathSegment(leaf), '98765');
93
+ const parentAliasPath = confluencePageByParentAliasPath('44444', '98765');
94
+ const parentLeaf = parentAliasPath.split('/').pop().replace(/\.json$/u, '');
95
+ assert.equal(extractConfluenceIdFromPathSegment(parentLeaf), '98765');
96
+ });
81
97
  });
82
98
  describe('extractConfluenceIdFromPathSegment', () => {
83
99
  it('decodes both the v2 __ separator and the legacy -- separator', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"path-mapper.test.js","sourceRoot":"","sources":["../../src/__tests__/path-mapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-mapper.test.js","sourceRoot":"","sources":["../../src/__tests__/path-mapper.test.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,24 @@ export declare class ConfluenceAdapter {
27
27
  }): string;
28
28
  computeSemantics(objectType: string, objectId: string, payload: Record<string, unknown>): FileSemantics;
29
29
  ingestWebhook(workspaceId: string, event: ConfluenceNormalizedEvent | Record<string, unknown>): Promise<IngestResult>;
30
+ private fanoutDelete;
31
+ private fanoutWrite;
32
+ private computeStalePaths;
33
+ /**
34
+ * Returns the by-* alias paths that should be written alongside the
35
+ * canonical record for an event. Aliases store the same bytes as the
36
+ * canonical path so any one of them resolves to the same JSON. Callers
37
+ * doing bulk materialization (e.g. `materializePageFiles`) reuse this so
38
+ * write-path and read-path stay symmetrical.
39
+ *
40
+ * Collision handling: `by-title` uses the canonical slugifier; when two
41
+ * pages share a title in the same scope, the second write wins (Confluence
42
+ * agents almost never lean on by-title for round-trip, so we keep the
43
+ * primary alias collision-free instead of forcing every reader to know the
44
+ * hash suffix). Callers that need the disambiguated form can compute it
45
+ * explicitly via `confluencePageByTitleAliasPath(title, id, true)`.
46
+ */
47
+ aliasPathsForEvent(event: ConfluenceNormalizedEvent): string[];
30
48
  writeBack(path: string, content: string): import("./types.js").ConfluenceWritebackRequest;
31
49
  materializeSpace(space: ConfluenceSpace): {
32
50
  path: string;
@@ -36,6 +54,25 @@ export declare class ConfluenceAdapter {
36
54
  path: string;
37
55
  payload: Record<string, unknown>;
38
56
  };
57
+ /**
58
+ * Materialize a page into the canonical path plus its by-* alias paths.
59
+ * Callers performing bulk sync (cloud full-resync) should iterate the
60
+ * returned `paths` and write the same `payload` bytes to each — that's
61
+ * how the runtime contract treats aliases (duplicated bytes, single
62
+ * source of truth at the canonical path).
63
+ */
64
+ materializePageFiles(page: ConfluencePage): {
65
+ paths: string[];
66
+ payload: Record<string, unknown>;
67
+ };
68
+ /**
69
+ * Materialize a space into the canonical path plus its by-* alias paths.
70
+ * See {@link materializePageFiles} for the bulk-sync contract.
71
+ */
72
+ materializeSpaceFiles(space: ConfluenceSpace): {
73
+ paths: string[];
74
+ payload: Record<string, unknown>;
75
+ };
39
76
  protected normalizeEvent(event: ConfluenceNormalizedEvent | Record<string, unknown>): ConfluenceNormalizedEvent;
40
77
  protected pathForEvent(event: ConfluenceNormalizedEvent): string;
41
78
  protected isDeleteEvent(event: ConfluenceNormalizedEvent): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"confluence-adapter.d.ts","sourceRoot":"","sources":["../src/confluence-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtF,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAOpB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAID,qBAAa,iBAAiB;IAK1B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAC9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;IAC/C,QAAQ,CAAC,MAAM,EAAE,uBAAuB;IAN1C,QAAQ,CAAC,IAAI,gBAA4B;IACzC,QAAQ,CAAC,OAAO,WAAW;gBAGN,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,kBAAkB,EACtC,MAAM,GAAE,uBAA4B;IAG/C,eAAe,IAAI,MAAM,EAAE;IAW3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAI7G,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa;IAsCjG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAuC3H,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIvC,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAY5F,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAYzF,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,yBAAyB;IAgC/G,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM;IAShE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO;IAIlE,SAAS,CAAC,aAAa,CACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,yBAAyB,EAChC,OAAO,EAAE,OAAO,GACf,MAAM;CAeV"}
1
+ {"version":3,"file":"confluence-adapter.d.ts","sourceRoot":"","sources":["../src/confluence-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { computeConfluencePath, confluencePagePath, confluenceSpacePath, } from './path-mapper.js';
1
+ import { computeConfluencePath, confluencePageByIdAliasPath, confluencePageByParentAliasPath, confluencePageBySpaceAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluenceSpaceByIdAliasPath, confluenceSpaceByKeyAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, } from './path-mapper.js';
2
2
  import { CONFLUENCE_PROVIDER_NAME, } from './types.js';
3
3
  import { resolveConfluenceWritebackRequest } from './writeback.js';
4
4
  const JSON_CONTENT_TYPE = 'application/json; charset=utf-8';
@@ -64,30 +64,19 @@ export class ConfluenceAdapter {
64
64
  };
65
65
  }
66
66
  async ingestWebhook(workspaceId, event) {
67
+ let normalized;
68
+ let canonicalPath;
69
+ let aliasPaths;
70
+ let isDelete;
71
+ let semantics;
72
+ let content;
67
73
  try {
68
- const normalized = this.normalizeEvent(event);
69
- const path = this.pathForEvent(normalized);
70
- if (this.isDeleteEvent(normalized)) {
71
- if (this.client.deleteFile) {
72
- await this.client.deleteFile({ workspaceId, path });
73
- return { filesWritten: 0, filesUpdated: 0, filesDeleted: 1, paths: [path], errors: [] };
74
- }
75
- }
76
- const writeResult = await this.client.writeFile({
77
- workspaceId,
78
- path,
79
- content: this.renderContent(workspaceId, normalized, this.isDeleteEvent(normalized)),
80
- contentType: JSON_CONTENT_TYPE,
81
- semantics: this.computeSemantics(normalized.objectType, normalized.objectId, normalized.payload),
82
- });
83
- const counts = inferWriteCounts(writeResult, this.isDeleteEvent(normalized));
84
- return {
85
- filesWritten: counts.filesWritten,
86
- filesUpdated: counts.filesUpdated,
87
- filesDeleted: counts.filesDeleted,
88
- paths: [path],
89
- errors: [],
90
- };
74
+ normalized = this.normalizeEvent(event);
75
+ canonicalPath = this.pathForEvent(normalized);
76
+ aliasPaths = this.aliasPathsForEvent(normalized);
77
+ isDelete = this.isDeleteEvent(normalized);
78
+ semantics = this.computeSemantics(normalized.objectType, normalized.objectId, normalized.payload);
79
+ content = this.renderContent(workspaceId, normalized, isDelete);
91
80
  }
92
81
  catch (error) {
93
82
  return {
@@ -98,6 +87,194 @@ export class ConfluenceAdapter {
98
87
  errors: [{ path: '', error: error instanceof Error ? error.message : String(error) }],
99
88
  };
100
89
  }
90
+ const targetPaths = [canonicalPath, ...aliasPaths];
91
+ if (isDelete) {
92
+ // Best-effort delete of every known path. Each file is independent
93
+ // (canonical bytes are duplicated to each alias), so a 404/transient
94
+ // error on one path must not skip the others — that's how callers
95
+ // end up with half-deleted records that the next sync writes over.
96
+ return this.fanoutDelete(workspaceId, targetPaths);
97
+ }
98
+ // Reconciliation: if the object was previously written, the prior alias
99
+ // set may differ from the new one (rename, status change, parent move,
100
+ // etc.). Read the stable by-id alias to recover the prior payload, then
101
+ // delete any aliases that no longer apply. The by-id alias is keyed only
102
+ // on objectId so it survives every other field change and is the right
103
+ // anchor for "was this record materialized before?".
104
+ const stalePaths = await this.computeStalePaths(workspaceId, normalized, targetPaths);
105
+ return this.fanoutWrite(workspaceId, targetPaths, content, semantics, isDelete, stalePaths);
106
+ }
107
+ // Per-path try/catch so one failure doesn't abandon the rest of the fan-out.
108
+ // Errors are accumulated and returned in `IngestResult.errors`; callers can
109
+ // re-attempt only the failed paths instead of having to re-derive the full
110
+ // set. We deliberately don't roll back successful writes on a later error —
111
+ // best-effort rollback can cascade failures and cloud's sync is idempotent
112
+ // (the next event for the same id will reconcile via `computeStalePaths`).
113
+ async fanoutDelete(workspaceId, paths) {
114
+ let filesDeleted = 0;
115
+ const errors = [];
116
+ const succeeded = [];
117
+ if (!this.client.deleteFile) {
118
+ return {
119
+ filesWritten: 0,
120
+ filesUpdated: 0,
121
+ filesDeleted: 0,
122
+ paths,
123
+ errors: paths.map((path) => ({ path, error: 'deleteFile not supported by client' })),
124
+ };
125
+ }
126
+ for (const path of paths) {
127
+ try {
128
+ await this.client.deleteFile({ workspaceId, path });
129
+ filesDeleted += 1;
130
+ succeeded.push(path);
131
+ }
132
+ catch (error) {
133
+ errors.push({ path, error: error instanceof Error ? error.message : String(error) });
134
+ }
135
+ }
136
+ return { filesWritten: 0, filesUpdated: 0, filesDeleted, paths: succeeded, errors };
137
+ }
138
+ async fanoutWrite(workspaceId, paths, content, semantics, isDelete, stalePaths) {
139
+ let filesWritten = 0;
140
+ let filesUpdated = 0;
141
+ let filesDeleted = 0;
142
+ const errors = [];
143
+ const succeeded = [];
144
+ // Reconciliation deletes first. If a stale path delete fails we log the
145
+ // error and continue — stale aliases are non-fatal (functional state is
146
+ // still correct, just bloated), and we want the canonical write to
147
+ // proceed so the new content is visible.
148
+ if (stalePaths.length > 0 && this.client.deleteFile) {
149
+ for (const path of stalePaths) {
150
+ try {
151
+ await this.client.deleteFile({ workspaceId, path });
152
+ filesDeleted += 1;
153
+ succeeded.push(path);
154
+ }
155
+ catch (error) {
156
+ errors.push({ path, error: error instanceof Error ? error.message : String(error) });
157
+ }
158
+ }
159
+ }
160
+ for (const path of paths) {
161
+ try {
162
+ const result = await this.client.writeFile({
163
+ workspaceId,
164
+ path,
165
+ content,
166
+ contentType: JSON_CONTENT_TYPE,
167
+ semantics,
168
+ });
169
+ const counts = inferWriteCounts(result, isDelete);
170
+ filesWritten += counts.filesWritten;
171
+ filesUpdated += counts.filesUpdated;
172
+ filesDeleted += counts.filesDeleted;
173
+ succeeded.push(path);
174
+ }
175
+ catch (error) {
176
+ errors.push({ path, error: error instanceof Error ? error.message : String(error) });
177
+ }
178
+ }
179
+ return { filesWritten, filesUpdated, filesDeleted, paths: succeeded, errors };
180
+ }
181
+ // Compute the set of alias/canonical paths that were emitted on a prior
182
+ // write but no longer apply after this update. Requires `readFile` on the
183
+ // client; when absent (legacy clients), returns an empty array and the
184
+ // adapter degrades to "no reconciliation" (matches pre-#69 behavior).
185
+ // Read failures (404, network, parse) are non-fatal — we'd rather leave
186
+ // stale aliases behind than block the canonical write on a stat call.
187
+ async computeStalePaths(workspaceId, normalized, newPaths) {
188
+ if (typeof this.client.readFile !== 'function')
189
+ return [];
190
+ const byIdPath = normalized.objectType === 'page'
191
+ ? confluencePageByIdAliasPath(normalized.objectId)
192
+ : normalized.objectType === 'space'
193
+ ? confluenceSpaceByIdAliasPath(normalized.objectId)
194
+ : null;
195
+ if (!byIdPath)
196
+ return [];
197
+ let priorPayload = null;
198
+ try {
199
+ const prior = await this.client.readFile({ workspaceId, path: byIdPath });
200
+ if (!prior || typeof prior.content !== 'string')
201
+ return [];
202
+ const wrapper = JSON.parse(prior.content);
203
+ if (!isRecord(wrapper) || !isRecord(wrapper.payload))
204
+ return [];
205
+ priorPayload = wrapper.payload;
206
+ }
207
+ catch {
208
+ return [];
209
+ }
210
+ const priorEvent = {
211
+ provider: CONFLUENCE_PROVIDER_NAME,
212
+ eventType: `${normalized.objectType}.reconcile`,
213
+ objectType: normalized.objectType,
214
+ objectId: normalized.objectId,
215
+ payload: priorPayload,
216
+ };
217
+ const priorCanonical = this.pathForEvent(priorEvent);
218
+ const priorAliases = this.aliasPathsForEvent(priorEvent);
219
+ const priorPaths = new Set([priorCanonical, ...priorAliases]);
220
+ const currentPaths = new Set(newPaths);
221
+ const stale = [];
222
+ for (const p of priorPaths) {
223
+ if (!currentPaths.has(p))
224
+ stale.push(p);
225
+ }
226
+ return stale;
227
+ }
228
+ /**
229
+ * Returns the by-* alias paths that should be written alongside the
230
+ * canonical record for an event. Aliases store the same bytes as the
231
+ * canonical path so any one of them resolves to the same JSON. Callers
232
+ * doing bulk materialization (e.g. `materializePageFiles`) reuse this so
233
+ * write-path and read-path stay symmetrical.
234
+ *
235
+ * Collision handling: `by-title` uses the canonical slugifier; when two
236
+ * pages share a title in the same scope, the second write wins (Confluence
237
+ * agents almost never lean on by-title for round-trip, so we keep the
238
+ * primary alias collision-free instead of forcing every reader to know the
239
+ * hash suffix). Callers that need the disambiguated form can compute it
240
+ * explicitly via `confluencePageByTitleAliasPath(title, id, true)`.
241
+ */
242
+ aliasPathsForEvent(event) {
243
+ const paths = [];
244
+ const id = event.objectId;
245
+ if (event.objectType === 'page') {
246
+ paths.push(confluencePageByIdAliasPath(id));
247
+ const title = readString(event.payload.title);
248
+ if (title && slugifies(title)) {
249
+ paths.push(confluencePageByTitleAliasPath(title, id));
250
+ }
251
+ const status = readString(event.payload.status);
252
+ if (status) {
253
+ paths.push(confluencePageByStatePath(status, id));
254
+ }
255
+ const spaceId = readString(event.payload.spaceId);
256
+ if (spaceId) {
257
+ paths.push(confluencePageBySpaceAliasPath(spaceId, id));
258
+ }
259
+ const parentId = readString(event.payload.parentId);
260
+ if (parentId) {
261
+ paths.push(confluencePageByParentAliasPath(parentId, id));
262
+ }
263
+ return paths;
264
+ }
265
+ if (event.objectType === 'space') {
266
+ paths.push(confluenceSpaceByIdAliasPath(id));
267
+ const name = readString(event.payload.name) ?? readString(event.payload.title);
268
+ if (name && slugifies(name)) {
269
+ paths.push(confluenceSpaceByTitleAliasPath(name, id));
270
+ }
271
+ const key = readString(event.payload.key);
272
+ if (key) {
273
+ paths.push(confluenceSpaceByKeyAliasPath(key));
274
+ }
275
+ return paths;
276
+ }
277
+ return paths;
101
278
  }
102
279
  writeBack(path, content) {
103
280
  return resolveConfluenceWritebackRequest(path, content);
@@ -124,6 +301,39 @@ export class ConfluenceAdapter {
124
301
  },
125
302
  };
126
303
  }
304
+ /**
305
+ * Materialize a page into the canonical path plus its by-* alias paths.
306
+ * Callers performing bulk sync (cloud full-resync) should iterate the
307
+ * returned `paths` and write the same `payload` bytes to each — that's
308
+ * how the runtime contract treats aliases (duplicated bytes, single
309
+ * source of truth at the canonical path).
310
+ */
311
+ materializePageFiles(page) {
312
+ const canonical = this.materializePage(page);
313
+ const aliases = this.aliasPathsForEvent({
314
+ provider: CONFLUENCE_PROVIDER_NAME,
315
+ eventType: 'page.synced',
316
+ objectType: 'page',
317
+ objectId: page.id,
318
+ payload: page,
319
+ });
320
+ return { paths: [canonical.path, ...aliases], payload: canonical.payload };
321
+ }
322
+ /**
323
+ * Materialize a space into the canonical path plus its by-* alias paths.
324
+ * See {@link materializePageFiles} for the bulk-sync contract.
325
+ */
326
+ materializeSpaceFiles(space) {
327
+ const canonical = this.materializeSpace(space);
328
+ const aliases = this.aliasPathsForEvent({
329
+ provider: CONFLUENCE_PROVIDER_NAME,
330
+ eventType: 'space.synced',
331
+ objectType: 'space',
332
+ objectId: space.id,
333
+ payload: space,
334
+ });
335
+ return { paths: [canonical.path, ...aliases], payload: canonical.payload };
336
+ }
127
337
  normalizeEvent(event) {
128
338
  if (isConfluenceNormalizedEvent(event))
129
339
  return event;
@@ -208,6 +418,17 @@ function readString(value) {
208
418
  function isRecord(value) {
209
419
  return typeof value === 'object' && value !== null && !Array.isArray(value);
210
420
  }
421
+ /**
422
+ * Returns true when the input contains enough alphanumeric content for the
423
+ * shared alias slugifier to produce a non-fallback result. We use this to
424
+ * skip emitting `by-title/untitled.json` aliases that would collide for
425
+ * every emoji-only / punctuation-only title — the by-id alias still resolves
426
+ * those records. Mirrors the NFKD + combining-mark strip from `alias-slug.ts`.
427
+ */
428
+ function slugifies(value) {
429
+ const normalized = value.normalize('NFKD').replace(/[̀-ͯ]/g, '');
430
+ return /[a-zA-Z0-9]/u.test(normalized);
431
+ }
211
432
  function isConfluenceNormalizedEvent(value) {
212
433
  return (isRecord(value) &&
213
434
  value.provider === CONFLUENCE_PROVIDER_NAME &&
@@ -1 +1 @@
1
- {"version":3,"file":"confluence-adapter.js","sourceRoot":"","sources":["../src/confluence-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confluence-adapter.js","sourceRoot":"","sources":["../src/confluence-adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { ConfluenceAdapter, } from './confluence-adapter.js';
2
2
  export type { ConnectionProvider, IngestError, IngestResult, ProxyRequest, ProxyResponse, } from './confluence-adapter.js';
3
- export { CONFLUENCE_OBJECT_TYPES, CONFLUENCE_CANONICAL_PAGE_STATUSES, CONFLUENCE_PATH_ROOT, computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, encodeConfluencePathSegment, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from './path-mapper.js';
3
+ export { CONFLUENCE_OBJECT_TYPES, CONFLUENCE_CANONICAL_PAGE_STATUSES, CONFLUENCE_PATH_ROOT, computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByParentAliasPath, confluencePageBySpaceAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpaceByKeyAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, encodeConfluencePathSegment, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from './path-mapper.js';
4
4
  export type { ConfluencePathObjectType, NameWithIdOptions, ParseNameWithIdResult, } from './path-mapper.js';
5
5
  export { aliasCollisionSuffix, slugifyAlias, } from './alias-slug.js';
6
6
  export { confluenceLayoutPromptFile, CONFLUENCE_LAYOUT_PROMPT, } from './layout-prompt.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,mCAAmC,EACnC,wBAAwB,EACxB,0CAA0C,EAC1C,0CAA0C,GAC3C,MAAM,yBAAyB,CAAC;AAEjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,mCAAmC,EACnC,wBAAwB,EACxB,0CAA0C,EAC1C,0CAA0C,GAC3C,MAAM,yBAAyB,CAAC;AAEjC,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ConfluenceAdapter, } from './confluence-adapter.js';
2
- export { CONFLUENCE_OBJECT_TYPES, CONFLUENCE_CANONICAL_PAGE_STATUSES, CONFLUENCE_PATH_ROOT, computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, encodeConfluencePathSegment, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from './path-mapper.js';
2
+ export { CONFLUENCE_OBJECT_TYPES, CONFLUENCE_CANONICAL_PAGE_STATUSES, CONFLUENCE_PATH_ROOT, computeConfluencePath, confluenceByIdAliasPath, confluenceByTitleAliasPath, confluencePageByIdAliasPath, confluencePageByParentAliasPath, confluencePageBySpaceAliasPath, confluencePageByStatePath, confluencePageByTitleAliasPath, confluencePagePath, confluencePagesIndexPath, confluenceProviderRootIndexPath, confluenceSpaceByIdAliasPath, confluenceSpaceByKeyAliasPath, confluenceSpaceByTitleAliasPath, confluenceSpacePath, confluenceSpacesIndexPath, encodeConfluencePathSegment, extractConfluenceIdFromPathSegment, nameWithId, normalizeConfluenceObjectType, normalizeNangoConfluenceModel, parseNameWithId, slugifyStatusName, tryNormalizeConfluenceObjectType, } from './path-mapper.js';
3
3
  export { aliasCollisionSuffix, slugifyAlias, } from './alias-slug.js';
4
4
  export { confluenceLayoutPromptFile, CONFLUENCE_LAYOUT_PROMPT, } from './layout-prompt.js';
5
5
  export { buildConfluenceIndexFile, } from './index-emitter.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EACL,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,yBAAyB,CAAC;AAQjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EACL,uBAAuB,EACvB,kCAAkC,EAClC,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,yBAAyB,CAAC;AAQjC,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const CONFLUENCE_LAYOUT_PROMPT = "# Confluence Mount Layout\n\nAlways run `ls` before constructing a path. v2 standardizes human-readable leaf names to `<sanitized-title>__<id>`, so consumers should inspect the live directory instead of guessing a filename.\n\n## Tree\n\n`/confluence/LAYOUT.md` is this guide.\n`/confluence/pages/` and `/confluence/spaces/` each own their canonical JSON records plus a sibling `_index.json` and alias subtrees.\nSpace-scoped pages also materialize under `/confluence/spaces/<spaceId>/pages/<title>__<pageId>.json` so an agent can resolve a page by its containing space.\n\n## Indexes\n\n`/confluence/pages/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"spaceId\": \"<spaceId>\", \"status\": \"<page status>\" }\n```\n\n`/confluence/spaces/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"key\": \"<space key>\" }\n```\n\n## Aliases\n\nPages are addressable through three parallel paths that all resolve to identical JSON bytes:\n\n- Canonical: `/confluence/pages/<title>__<pageId>.json` (or the space-scoped variant).\n- By id: `/confluence/pages/by-id/<pageId>.json` \u2014 stable when the title changes.\n- By title: `/confluence/pages/by-title/<sanitized-title>.json` \u2014 collisions get an 8-char hash suffix.\n- By state: `/confluence/pages/by-state/<status>/<pageId>.json` \u2014 `current`, `draft`, `archived`, or `trashed`.\n\nSpaces follow the same pattern under `/confluence/spaces/by-id/` and `/confluence/spaces/by-title/`.\n\n## JSONL And Querying\n\nConfluence does not emit JSONL in this adapter today. Each page and space is a standalone `.json` record.\n\nExamples:\n\n```bash\nls /confluence/pages\njq '.[0]' /confluence/pages/_index.json\njq '.[] | {id, title, status}' /confluence/pages/_index.json\ngrep -R \"Release plan\" /confluence/pages\n```\n";
1
+ export declare const CONFLUENCE_LAYOUT_PROMPT = "# Confluence Mount Layout\n\nAlways run `ls` before constructing a path. v2 standardizes human-readable leaf names to `<sanitized-title>__<id>`, so consumers should inspect the live directory instead of guessing a filename.\n\n## Tree\n\n`/confluence/LAYOUT.md` is this guide.\n`/confluence/pages/` and `/confluence/spaces/` each own their canonical JSON records plus a sibling `_index.json` and the `by-*` alias subtrees described below.\nSpace-scoped pages also materialize under `/confluence/spaces/<spaceId>/pages/<title>__<pageId>.json` so an agent can resolve a page by its containing space.\n\n## Indexes\n\n`/confluence/pages/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"spaceId\": \"<spaceId>\", \"status\": \"<page status>\" }\n```\n\n`/confluence/spaces/_index.json` rows use:\n\n```json\n{ \"id\": \"<id>\", \"title\": \"<human-readable>\", \"updated\": \"<iso8601>\", \"key\": \"<space key>\" }\n```\n\n## Page Aliases\n\nEvery page is duplicated into the `by-*` paths below \u2014 they all resolve to identical JSON bytes. Use whichever lookup primitive you have at hand:\n\n- Canonical: `/confluence/pages/<title>__<pageId>.json` (or the space-scoped `/confluence/spaces/<spaceId>/pages/...` variant).\n- By id: `/confluence/pages/by-id/<pageId>.json` \u2014 stable when the title changes.\n- By title: `/confluence/pages/by-title/<sanitized-title>.json` \u2014 last writer wins on title collisions; compute the disambiguated form with `confluencePageByTitleAliasPath(title, id, true)` for guaranteed uniqueness (8-char hex suffix on the id).\n- By state: `/confluence/pages/by-state/<status>/<pageId>.json` \u2014 `current`, `draft`, `archived`, or `trashed` (v2 documents only `current|draft`; archive/trash variants surface in real mounts).\n- By space: `/confluence/pages/by-space/<spaceId>/<pageId>.json` \u2014 flat sibling of the space-scoped canonical tree so `ls` works without slug resolution.\n- By parent: `/confluence/pages/by-parent/<parentId>/<pageId>.json` \u2014 only emitted when `payload.parentId` is present (top-level pages have no parent record).\n\n## Space Aliases\n\n- Canonical: `/confluence/spaces/<name>__<spaceId>.json`.\n- By id: `/confluence/spaces/by-id/<spaceId>.json`.\n- By title: `/confluence/spaces/by-title/<sanitized-name>.json`.\n- By key: `/confluence/spaces/by-key/<KEY>.json` \u2014 the globally-unique human-meaningful space key (e.g. `ENG`). Mirrors the v2 `GET /spaces?keys=` filter.\n\n## JSONL And Querying\n\nConfluence does not emit JSONL in this adapter today. Each page and space is a standalone `.json` record, duplicated verbatim into every alias path it qualifies for.\n\nExamples:\n\n```bash\n# List every page in a space without resolving titles\nls /confluence/pages/by-space/12345/\n\n# Look up a space by its stable Confluence key\njq '.payload | {id, name, homepageId}' /confluence/spaces/by-key/ENG.json\n\n# Iterate drafts pending review\nls /confluence/pages/by-state/draft/\njq '.payload.title' /confluence/pages/by-state/draft/*.json\n\n# Walk a page's children\nls /confluence/pages/by-parent/98765/\njq '.payload | {id, title, status}' /confluence/pages/by-parent/98765/*.json\n\n# Sorted snapshot from the canonical index\njq '.[] | {id, title, status}' /confluence/pages/_index.json\n```\n";
2
2
  export declare function confluenceLayoutPromptFile(): {
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,wBAAwB,63DA+CpC,CAAC;AAEF,wBAAgB,0BAA0B;;;;EAMzC"}
1
+ {"version":3,"file":"layout-prompt.d.ts","sourceRoot":"","sources":["../src/layout-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,wxGAkEpC,CAAC;AAEF,wBAAgB,0BAA0B;;;;EAMzC"}
@@ -5,7 +5,7 @@ Always run \`ls\` before constructing a path. v2 standardizes human-readable lea
5
5
  ## Tree
6
6
 
7
7
  \`/confluence/LAYOUT.md\` is this guide.
8
- \`/confluence/pages/\` and \`/confluence/spaces/\` each own their canonical JSON records plus a sibling \`_index.json\` and alias subtrees.
8
+ \`/confluence/pages/\` and \`/confluence/spaces/\` each own their canonical JSON records plus a sibling \`_index.json\` and the \`by-*\` alias subtrees described below.
9
9
  Space-scoped pages also materialize under \`/confluence/spaces/<spaceId>/pages/<title>__<pageId>.json\` so an agent can resolve a page by its containing space.
10
10
 
11
11
  ## Indexes
@@ -22,28 +22,47 @@ Space-scoped pages also materialize under \`/confluence/spaces/<spaceId>/pages/<
22
22
  { "id": "<id>", "title": "<human-readable>", "updated": "<iso8601>", "key": "<space key>" }
23
23
  \`\`\`
24
24
 
25
- ## Aliases
25
+ ## Page Aliases
26
26
 
27
- Pages are addressable through three parallel paths that all resolve to identical JSON bytes:
27
+ Every page is duplicated into the \`by-*\` paths below — they all resolve to identical JSON bytes. Use whichever lookup primitive you have at hand:
28
28
 
29
- - Canonical: \`/confluence/pages/<title>__<pageId>.json\` (or the space-scoped variant).
29
+ - Canonical: \`/confluence/pages/<title>__<pageId>.json\` (or the space-scoped \`/confluence/spaces/<spaceId>/pages/...\` variant).
30
30
  - By id: \`/confluence/pages/by-id/<pageId>.json\` — stable when the title changes.
31
- - By title: \`/confluence/pages/by-title/<sanitized-title>.json\` — collisions get an 8-char hash suffix.
32
- - By state: \`/confluence/pages/by-state/<status>/<pageId>.json\` — \`current\`, \`draft\`, \`archived\`, or \`trashed\`.
31
+ - By title: \`/confluence/pages/by-title/<sanitized-title>.json\` — last writer wins on title collisions; compute the disambiguated form with \`confluencePageByTitleAliasPath(title, id, true)\` for guaranteed uniqueness (8-char hex suffix on the id).
32
+ - By state: \`/confluence/pages/by-state/<status>/<pageId>.json\` — \`current\`, \`draft\`, \`archived\`, or \`trashed\` (v2 documents only \`current|draft\`; archive/trash variants surface in real mounts).
33
+ - By space: \`/confluence/pages/by-space/<spaceId>/<pageId>.json\` — flat sibling of the space-scoped canonical tree so \`ls\` works without slug resolution.
34
+ - By parent: \`/confluence/pages/by-parent/<parentId>/<pageId>.json\` — only emitted when \`payload.parentId\` is present (top-level pages have no parent record).
33
35
 
34
- Spaces follow the same pattern under \`/confluence/spaces/by-id/\` and \`/confluence/spaces/by-title/\`.
36
+ ## Space Aliases
37
+
38
+ - Canonical: \`/confluence/spaces/<name>__<spaceId>.json\`.
39
+ - By id: \`/confluence/spaces/by-id/<spaceId>.json\`.
40
+ - By title: \`/confluence/spaces/by-title/<sanitized-name>.json\`.
41
+ - By key: \`/confluence/spaces/by-key/<KEY>.json\` — the globally-unique human-meaningful space key (e.g. \`ENG\`). Mirrors the v2 \`GET /spaces?keys=\` filter.
35
42
 
36
43
  ## JSONL And Querying
37
44
 
38
- Confluence does not emit JSONL in this adapter today. Each page and space is a standalone \`.json\` record.
45
+ Confluence does not emit JSONL in this adapter today. Each page and space is a standalone \`.json\` record, duplicated verbatim into every alias path it qualifies for.
39
46
 
40
47
  Examples:
41
48
 
42
49
  \`\`\`bash
43
- ls /confluence/pages
44
- jq '.[0]' /confluence/pages/_index.json
50
+ # List every page in a space without resolving titles
51
+ ls /confluence/pages/by-space/12345/
52
+
53
+ # Look up a space by its stable Confluence key
54
+ jq '.payload | {id, name, homepageId}' /confluence/spaces/by-key/ENG.json
55
+
56
+ # Iterate drafts pending review
57
+ ls /confluence/pages/by-state/draft/
58
+ jq '.payload.title' /confluence/pages/by-state/draft/*.json
59
+
60
+ # Walk a page's children
61
+ ls /confluence/pages/by-parent/98765/
62
+ jq '.payload | {id, title, status}' /confluence/pages/by-parent/98765/*.json
63
+
64
+ # Sorted snapshot from the canonical index
45
65
  jq '.[] | {id, title, status}' /confluence/pages/_index.json
46
- grep -R "Release plan" /confluence/pages
47
66
  \`\`\`
48
67
  `;
49
68
  export function confluenceLayoutPromptFile() {
@@ -1 +1 @@
1
- {"version":3,"file":"layout-prompt.js","sourceRoot":"","sources":["../src/layout-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CvC,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,8BAAuC;QACpD,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,IAAI;KAC9G,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"layout-prompt.js","sourceRoot":"","sources":["../src/layout-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEvC,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,8BAAuC;QACpD,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,IAAI;KAC9G,CAAC;AACJ,CAAC"}
@@ -37,6 +37,31 @@ export declare function confluencePageByIdAliasPath(id: string): string;
37
37
  export declare function confluencePageByTitleAliasPath(title: string, id: string, colliding?: boolean): string;
38
38
  export declare function confluenceSpaceByIdAliasPath(id: string): string;
39
39
  export declare function confluenceSpaceByTitleAliasPath(title: string, id: string, colliding?: boolean): string;
40
+ /**
41
+ * `by-key/<KEY>.json` resolves a space by its globally-unique Confluence
42
+ * space key (e.g. `ENG`). The v2 `GET /spaces` endpoint accepts `keys=` as a
43
+ * filter so the key is a stable, human-meaningful identifier that agents
44
+ * actually paste — much more useful than the numeric id for spaces. Keys are
45
+ * preserved verbatim (case + punctuation) because Confluence treats them as
46
+ * opaque strings; we only percent-encode for path safety.
47
+ */
48
+ export declare function confluenceSpaceByKeyAliasPath(spaceKey: string): string;
49
+ /**
50
+ * `by-parent/<parentId>/<pageId>.json` mirrors `by-state` but pivots on the
51
+ * page's parent — the most natural Confluence navigation primitive after the
52
+ * space tree. Pages without a parentId (top-level pages directly under a
53
+ * space's homepage) are not emitted here; consumers should use the canonical
54
+ * space-scoped path instead.
55
+ */
56
+ export declare function confluencePageByParentAliasPath(parentId: string, pageId: string): string;
57
+ /**
58
+ * `by-space/<spaceId>/<pageId>.json` — flat alias keyed only on the space id
59
+ * so an agent can iterate every page in a space without resolving titles.
60
+ * The space-scoped canonical path `/confluence/spaces/<spaceId>/pages/<slug>__<id>.json`
61
+ * is still the human-friendly entry point; this alias is the deterministic
62
+ * lookup variant readers reach for with `ls`.
63
+ */
64
+ export declare function confluencePageBySpaceAliasPath(spaceId: string, pageId: string): string;
40
65
  export declare function computeConfluencePath(objectType: string, objectId: string, options?: {
41
66
  title?: string;
42
67
  spaceId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"path-mapper.d.ts","sourceRoot":"","sources":["../src/path-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-mapper.d.ts","sourceRoot":"","sources":["../src/path-mapper.ts"],"names":[],"mappings":"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"}
@@ -183,6 +183,37 @@ export function confluenceSpaceByIdAliasPath(id) {
183
183
  export function confluenceSpaceByTitleAliasPath(title, id, colliding = false) {
184
184
  return confluenceByTitleAliasPath(`${CONFLUENCE_PATH_ROOT}/spaces`, title, id, colliding);
185
185
  }
186
+ /**
187
+ * `by-key/<KEY>.json` resolves a space by its globally-unique Confluence
188
+ * space key (e.g. `ENG`). The v2 `GET /spaces` endpoint accepts `keys=` as a
189
+ * filter so the key is a stable, human-meaningful identifier that agents
190
+ * actually paste — much more useful than the numeric id for spaces. Keys are
191
+ * preserved verbatim (case + punctuation) because Confluence treats them as
192
+ * opaque strings; we only percent-encode for path safety.
193
+ */
194
+ export function confluenceSpaceByKeyAliasPath(spaceKey) {
195
+ return `${CONFLUENCE_PATH_ROOT}/spaces/by-key/${encodeConfluencePathSegment(spaceKey)}.json`;
196
+ }
197
+ /**
198
+ * `by-parent/<parentId>/<pageId>.json` mirrors `by-state` but pivots on the
199
+ * page's parent — the most natural Confluence navigation primitive after the
200
+ * space tree. Pages without a parentId (top-level pages directly under a
201
+ * space's homepage) are not emitted here; consumers should use the canonical
202
+ * space-scoped path instead.
203
+ */
204
+ export function confluencePageByParentAliasPath(parentId, pageId) {
205
+ return `${CONFLUENCE_PATH_ROOT}/pages/by-parent/${encodeConfluencePathSegment(parentId)}/${encodeConfluencePathSegment(pageId)}.json`;
206
+ }
207
+ /**
208
+ * `by-space/<spaceId>/<pageId>.json` — flat alias keyed only on the space id
209
+ * so an agent can iterate every page in a space without resolving titles.
210
+ * The space-scoped canonical path `/confluence/spaces/<spaceId>/pages/<slug>__<id>.json`
211
+ * is still the human-friendly entry point; this alias is the deterministic
212
+ * lookup variant readers reach for with `ls`.
213
+ */
214
+ export function confluencePageBySpaceAliasPath(spaceId, pageId) {
215
+ return `${CONFLUENCE_PATH_ROOT}/pages/by-space/${encodeConfluencePathSegment(spaceId)}/${encodeConfluencePathSegment(pageId)}.json`;
216
+ }
186
217
  export function computeConfluencePath(objectType, objectId, options = {}) {
187
218
  const normalizedType = normalizeConfluenceObjectType(objectType);
188
219
  const normalizedId = assertNonEmptySegment(objectId, 'object id');
@@ -1 +1 @@
1
- {"version":3,"file":"path-mapper.js","sourceRoot":"","sources":["../src/path-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-mapper.js","sourceRoot":"","sources":["../src/path-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AAGlE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAEvG,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,mBAAmB,GAAuD;IAC9E,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,OAAO;IACxB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,eAAe,GAAuD;IAC1E,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,OAAO;CACzB,CAAC;AAEF,SAAS,qBAAqB,CAAC,KAAa,EAAE,KAAa;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,6BAA6B,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,KAAK,GAAG,KAAK;SAChB,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK;SACf,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAYD,MAAM,UAAU,UAAU,CAAC,aAAiC,EAAE,EAAU,EAAE,OAA0B,EAAE;IACpG,MAAM,YAAY,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,MAAM,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,GAAG,IAAI,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,GAAG,QAAQ,KAAK,YAAY,EAAE,CAAC;AACxC,CAAC;AAED,0EAA0E;AAC1E,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,EAAE,EAAE,QAAQ;YACZ,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;QAChD,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QACtC,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IACjE,IAAI,CAAC;QACH,OAAO,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/D,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,IAAI,IAAI,GAAG,CAAC;YACd,CAAC;YACD,oBAAoB,GAAG,IAAI,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,oBAAoB,GAAG,KAAK,CAAC;QAC7B,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,SAAS,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC;YACd,SAAS;QACX,CAAC;QAED,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,IAAa,EAAE,IAAwB;IAC/F,OAAO,GAAG,oBAAoB,WAAW,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,KAAc,EACd,OAAgB,EAChB,IAAwB;IAExB,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,oBAAoB,WAAW,2BAA2B,CAAC,OAAO,CAAC,UAAU,WAAW,OAAO,CAAC;IAC5G,CAAC;IACD,OAAO,GAAG,oBAAoB,UAAU,WAAW,OAAO,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,GAAG,oBAAoB,oBAAoB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,GAAG,oBAAoB,qBAAqB,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,GAAG,oBAAoB,cAAc,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,MAAc;IACtE,OAAO,GAAG,oBAAoB,mBAAmB,iBAAiB,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC;AAC3H,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,SAAS,GAAG,KAAK;IACpG,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,OAAO,GAAG,KAAK,aAAa,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,UAAkB;IACvE,OAAO,GAAG,KAAK,UAAU,2BAA2B,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAU;IACpD,OAAO,uBAAuB,CAAC,GAAG,oBAAoB,QAAQ,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa,EAAE,EAAU,EAAE,SAAS,GAAG,KAAK;IACzF,OAAO,0BAA0B,CAAC,GAAG,oBAAoB,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,uBAAuB,CAAC,GAAG,oBAAoB,SAAS,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAa,EAAE,EAAU,EAAE,SAAS,GAAG,KAAK;IAC1F,OAAO,0BAA0B,CAAC,GAAG,oBAAoB,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC5D,OAAO,GAAG,oBAAoB,kBAAkB,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,QAAgB,EAAE,MAAc;IAC9E,OAAO,GAAG,oBAAoB,oBAAoB,2BAA2B,CAAC,QAAQ,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC;AACxI,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe,EAAE,MAAc;IAC5E,OAAO,GAAG,oBAAoB,mBAAmB,2BAA2B,CAAC,OAAO,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC;AACtI,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,QAAgB,EAChB,UAAgD,EAAE;IAElD,MAAM,cAAc,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElE,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
package/dist/types.d.ts CHANGED
@@ -94,9 +94,17 @@ export interface DeleteFileInput {
94
94
  workspaceId: string;
95
95
  path: string;
96
96
  }
97
+ export interface ReadFileInput {
98
+ workspaceId: string;
99
+ path: string;
100
+ }
101
+ export interface ReadFileResult {
102
+ content: string;
103
+ }
97
104
  export interface RelayFileClientLike {
98
105
  writeFile(input: WriteFileInput): Promise<WriteFileResult | void>;
99
106
  deleteFile?(input: DeleteFileInput): Promise<void> | void;
107
+ readFile?(input: ReadFileInput): Promise<ReadFileResult | null | undefined>;
100
108
  }
101
109
  export interface ConfluenceNormalizedEvent {
102
110
  provider: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relayfile/adapter-confluence",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Confluence adapter package for Relayfile",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -80,7 +80,7 @@
80
80
  "directory": "packages/confluence"
81
81
  },
82
82
  "dependencies": {
83
- "@relayfile/adapter-core": "^0.2.4"
83
+ "@relayfile/adapter-core": "^0.2.6"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@relayfile/sdk": ">=0.6.0 <1"