wiki-graph 0.4.0 → 0.4.1

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.
package/dist/index.js CHANGED
@@ -2832,7 +2832,9 @@ async function createFindObject(hit, context) {
2832
2832
  if (hit.type === "meta") {
2833
2833
  return {
2834
2834
  ...librarySource,
2835
+ text: hit.snippet,
2835
2836
  title: hit.title,
2837
+ type: "meta",
2836
2838
  uri
2837
2839
  };
2838
2840
  }
@@ -4046,13 +4048,16 @@ var init_options = __esm({
4046
4048
  // src/commands/archive-command/run/next.ts
4047
4049
  import {
4048
4050
  findArchiveObjects,
4051
+ findWikiGraphLibraryArchiveMembers,
4049
4052
  findWikiGraphLibraryObjects,
4050
4053
  listArchiveCollection,
4051
4054
  listArchiveEvidence,
4055
+ listWikiGraphLibraryArchiveMembers,
4052
4056
  listRelatedWikiGraphLibraryObjects,
4053
4057
  listWikiGraphLibraryEvidence,
4054
4058
  listWikiGraphLibraryObjects,
4055
4059
  listRelatedArchiveObjects,
4060
+ parseWikiGraphLibraryUri as parseWikiGraphLibraryUri5,
4056
4061
  readContinuationCursor,
4057
4062
  resolveWikiGraphLibraryQueryTargetById
4058
4063
  } from "wiki-graph-core";
@@ -4237,6 +4242,19 @@ async function runNextLibraryIndexPage(args, cursor) {
4237
4242
  types: cursor.types
4238
4243
  });
4239
4244
  }
4245
+ if (isLibraryArchiveMemberCursor(cursor)) {
4246
+ await writeFindHits(
4247
+ createCollectionFindResult(
4248
+ await listWikiGraphLibraryArchiveMembers(target, collectionOptions)
4249
+ ),
4250
+ {
4251
+ ...createCursorOutputContext(cursor, format, limit),
4252
+ continuationKind: "collection"
4253
+ },
4254
+ format
4255
+ );
4256
+ return;
4257
+ }
4240
4258
  await writeFindHits(
4241
4259
  createCollectionFindResult(
4242
4260
  await listWikiGraphLibraryObjects(target, collectionOptions)
@@ -4265,6 +4283,18 @@ async function runNextLibraryIndexPage(args, cursor) {
4265
4283
  types: cursor.types
4266
4284
  });
4267
4285
  }
4286
+ if (isLibraryArchiveMemberCursor(cursor)) {
4287
+ await writeFindHits(
4288
+ await findWikiGraphLibraryArchiveMembers(
4289
+ target,
4290
+ cursor.query ?? "",
4291
+ findOptions
4292
+ ),
4293
+ createCursorOutputContext(cursor, format, limit),
4294
+ format
4295
+ );
4296
+ return;
4297
+ }
4268
4298
  await writeFindHits(
4269
4299
  await findWikiGraphLibraryObjects(
4270
4300
  target,
@@ -4320,6 +4350,10 @@ async function runNextLibraryIndexPage(args, cursor) {
4320
4350
  return;
4321
4351
  }
4322
4352
  }
4353
+ function isLibraryArchiveMemberCursor(cursor) {
4354
+ const target = parseWikiGraphLibraryUri5(cursor.archivePath);
4355
+ return target?.kind === "scope" && target.objectUri === void 0 && cursor.archiveKey === cursor.archivePath;
4356
+ }
4323
4357
  function createCursorOutputContext(cursor, format, limit) {
4324
4358
  return {
4325
4359
  archiveKey: cursor.archiveKey,
@@ -4461,20 +4495,21 @@ import {
4461
4495
  listArchiveEvidence as listArchiveEvidence2,
4462
4496
  listRelatedArchiveObjects as listRelatedArchiveObjects2,
4463
4497
  findWikiGraphLibraryObjects as findWikiGraphLibraryObjects2,
4498
+ formatWikiGraphLibraryUri as formatWikiGraphLibraryUri2,
4464
4499
  listRelatedWikiGraphLibraryObjects as listRelatedWikiGraphLibraryObjects2,
4465
4500
  listWikiGraphLibraryEvidence as listWikiGraphLibraryEvidence2,
4466
4501
  listWikiGraphLibraryObjects as listWikiGraphLibraryObjects2,
4467
4502
  packArchiveContext,
4468
4503
  packWikiGraphLibraryContext,
4469
- parseWikiGraphLibraryUri as parseWikiGraphLibraryUri5,
4504
+ parseWikiGraphLibraryUri as parseWikiGraphLibraryUri6,
4470
4505
  readArchivePage,
4471
4506
  readWikiGraphLibraryPage,
4472
4507
  resolveWikiGraphLibrary,
4473
4508
  findArchiveObjects as findArchiveObjects2
4474
4509
  } from "wiki-graph-core";
4475
4510
  async function runArchiveCommand(args) {
4476
- const libraryTarget = parseWikiGraphLibraryUri5(args.archivePath);
4477
- if (libraryTarget?.kind === "scope" && libraryTarget.objectUri !== "wikg://index" && (libraryTarget.objectUri !== void 0 || args.action === "search" || args.action === "list")) {
4511
+ const libraryTarget = parseWikiGraphLibraryUri6(args.archivePath);
4512
+ if (libraryTarget?.kind === "scope" && libraryTarget.objectUri !== "wikg://index" && (libraryTarget.objectUri !== void 0 || args.action === "related" || args.action === "evidence" || args.action === "pack" || args.action === "search" || args.action === "list")) {
4478
4513
  await runLibraryIndexArchiveCommand(args, libraryTarget);
4479
4514
  return;
4480
4515
  }
@@ -4707,15 +4742,39 @@ async function runArchiveCommand(args) {
4707
4742
  }
4708
4743
  async function runLibraryIndexArchiveCommand(args, target) {
4709
4744
  const library = await resolveWikiGraphLibrary(target);
4710
- const objectUri = target.objectUri === void 0 && args.objectId === void 0 ? "wikg://" : getObjectUri(args.objectId ?? args.archivePath);
4745
+ const isLibraryRootCollection = target.objectUri === void 0 && args.objectId === void 0;
4746
+ const objectUri = isLibraryRootCollection ? void 0 : getObjectUri(args.objectId ?? args.archivePath);
4711
4747
  const context = {
4712
4748
  ...createArchiveOutputContext(args),
4713
- archiveKey: args.archivePath,
4749
+ archiveKey: isLibraryRootCollection ? `${formatWikiGraphLibraryUri2(target.publicId)}#scope` : args.archivePath,
4714
4750
  archivePath: args.archivePath,
4715
4751
  indexScope: { kind: "library-index", libraryId: library.id }
4716
4752
  };
4717
4753
  switch (args.action) {
4718
4754
  case "search":
4755
+ if (objectUri === void 0) {
4756
+ if (args.all === true) {
4757
+ await writeAllFindHits(
4758
+ async (cursor) => await findWikiGraphLibraryObjects2(target, args.query, {
4759
+ ...createFindOptions(args),
4760
+ ...cursor === void 0 ? {} : { cursor }
4761
+ }),
4762
+ context,
4763
+ args.format ?? "text"
4764
+ );
4765
+ return;
4766
+ }
4767
+ await writeFindHits(
4768
+ await findWikiGraphLibraryObjects2(
4769
+ target,
4770
+ args.query,
4771
+ createFindOptions(args)
4772
+ ),
4773
+ context,
4774
+ args.format ?? "text"
4775
+ );
4776
+ return;
4777
+ }
4719
4778
  if (args.all === true) {
4720
4779
  await writeAllFindHits(
4721
4780
  async (cursor) => await findWikiGraphLibraryObjects2(target, args.query, {
@@ -4742,6 +4801,45 @@ async function runLibraryIndexArchiveCommand(args, target) {
4742
4801
  ...context,
4743
4802
  continuationKind: "collection"
4744
4803
  };
4804
+ if (objectUri === void 0) {
4805
+ if (args.all === true) {
4806
+ if (args.limit !== void 0) {
4807
+ await writeAllFindHits(
4808
+ async (cursor) => createCollectionFindResult(
4809
+ await listWikiGraphLibraryObjects2(target, {
4810
+ ...createCollectionOptions(args),
4811
+ ...cursor === void 0 ? {} : { cursor }
4812
+ })
4813
+ ),
4814
+ listContext,
4815
+ args.format ?? "text"
4816
+ );
4817
+ return;
4818
+ }
4819
+ await writeFindHitsWithoutContinuation(
4820
+ createCollectionFindResult(
4821
+ await listWikiGraphLibraryObjects2(target, {
4822
+ ...createCollectionOptions(args),
4823
+ limit: ALL_COLLECTION_OUTPUT_LIMIT
4824
+ })
4825
+ ),
4826
+ listContext,
4827
+ args.format ?? "text"
4828
+ );
4829
+ return;
4830
+ }
4831
+ await writeFindHits(
4832
+ createCollectionFindResult(
4833
+ await listWikiGraphLibraryObjects2(
4834
+ target,
4835
+ createCollectionOptions(args)
4836
+ )
4837
+ ),
4838
+ listContext,
4839
+ args.format ?? "text"
4840
+ );
4841
+ return;
4842
+ }
4745
4843
  if (args.all === true) {
4746
4844
  if (args.limit !== void 0) {
4747
4845
  await writeAllFindHits(
@@ -4781,6 +4879,23 @@ async function runLibraryIndexArchiveCommand(args, target) {
4781
4879
  return;
4782
4880
  }
4783
4881
  case "get": {
4882
+ if (objectUri === void 0) {
4883
+ const getContext = {
4884
+ ...context,
4885
+ continuationKind: "collection"
4886
+ };
4887
+ await writeFindHits(
4888
+ createCollectionFindResult(
4889
+ await listWikiGraphLibraryObjects2(
4890
+ target,
4891
+ createCollectionOptions(args)
4892
+ )
4893
+ ),
4894
+ getContext,
4895
+ args.format ?? "text"
4896
+ );
4897
+ return;
4898
+ }
4784
4899
  const evidenceLimit = getSingleObjectEvidenceLimit(args, objectUri);
4785
4900
  await writePage(
4786
4901
  await readWikiGraphLibraryPage(target, objectUri, {
@@ -4795,12 +4910,13 @@ async function runLibraryIndexArchiveCommand(args, target) {
4795
4910
  return;
4796
4911
  }
4797
4912
  case "related": {
4913
+ const concreteObjectUri = requireLibraryObjectUri("related", objectUri);
4798
4914
  const relatedContext = {
4799
4915
  ...context,
4800
4916
  continuationKind: "related",
4801
- targetUri: objectUri
4917
+ targetUri: concreteObjectUri
4802
4918
  };
4803
- const readPage = async (cursor) => await listRelatedWikiGraphLibraryObjects2(target, objectUri, {
4919
+ const readPage = async (cursor) => await listRelatedWikiGraphLibraryObjects2(target, concreteObjectUri, {
4804
4920
  ...cursor === void 0 ? {} : { cursor },
4805
4921
  ...createOptionalEvidenceLimit(args),
4806
4922
  ...args.limit === void 0 ? {} : { limit: args.limit },
@@ -4826,14 +4942,15 @@ async function runLibraryIndexArchiveCommand(args, target) {
4826
4942
  return;
4827
4943
  }
4828
4944
  case "evidence": {
4945
+ const concreteObjectUri = requireLibraryObjectUri("evidence", objectUri);
4829
4946
  const evidenceContext = {
4830
4947
  ...context,
4831
4948
  continuationKind: "evidence",
4832
- targetUri: objectUri
4949
+ targetUri: concreteObjectUri
4833
4950
  };
4834
4951
  if (args.all === true) {
4835
4952
  await writeAllEvidence(
4836
- async (cursor) => await listWikiGraphLibraryEvidence2(target, objectUri, {
4953
+ async (cursor) => await listWikiGraphLibraryEvidence2(target, concreteObjectUri, {
4837
4954
  ...cursor === void 0 ? {} : { cursor },
4838
4955
  ...args.limit === void 0 ? {} : { limit: args.limit },
4839
4956
  ...args.reverse === true ? { order: "doc-desc" } : {},
@@ -4846,7 +4963,7 @@ async function runLibraryIndexArchiveCommand(args, target) {
4846
4963
  return;
4847
4964
  }
4848
4965
  await writeEvidence(
4849
- await listWikiGraphLibraryEvidence2(target, objectUri, {
4966
+ await listWikiGraphLibraryEvidence2(target, concreteObjectUri, {
4850
4967
  ...args.cursor === void 0 ? {} : { cursor: args.cursor },
4851
4968
  ...args.limit === void 0 ? {} : { limit: args.limit },
4852
4969
  ...args.reverse === true ? { order: "doc-desc" } : {},
@@ -4858,17 +4975,19 @@ async function runLibraryIndexArchiveCommand(args, target) {
4858
4975
  );
4859
4976
  return;
4860
4977
  }
4861
- case "pack":
4978
+ case "pack": {
4979
+ const concreteObjectUri = requireLibraryObjectUri("pack", objectUri);
4862
4980
  await writePack(
4863
4981
  await packWikiGraphLibraryContext(
4864
4982
  target,
4865
- objectUri,
4983
+ concreteObjectUri,
4866
4984
  args.budget ?? 5e3
4867
4985
  ),
4868
4986
  context,
4869
4987
  args.format ?? "text"
4870
4988
  );
4871
4989
  return;
4990
+ }
4872
4991
  case "create":
4873
4992
  case "export":
4874
4993
  case "inspect":
@@ -4878,6 +4997,14 @@ async function runLibraryIndexArchiveCommand(args, target) {
4878
4997
  );
4879
4998
  }
4880
4999
  }
5000
+ function requireLibraryObjectUri(action, objectUri) {
5001
+ if (objectUri === void 0) {
5002
+ throw new Error(
5003
+ `The library \`${action}\` predicate requires a concrete library object URI.`
5004
+ );
5005
+ }
5006
+ return objectUri;
5007
+ }
4881
5008
  var init_archive_command = __esm({
4882
5009
  "src/commands/archive-command/index.ts"() {
4883
5010
  "use strict";
@@ -6206,10 +6333,12 @@ import {
6206
6333
  deleteWikiGraphLibraryMetadataKey,
6207
6334
  getWikiGraphLibraryMetadata,
6208
6335
  getWikiGraphLibraryArchive,
6336
+ listWikiGraphLibraryObjects as listWikiGraphLibraryObjects3,
6209
6337
  listWikiGraphLibraries,
6210
6338
  listWikiGraphLibraryArchives,
6211
6339
  moveWikiGraphLibraryArchive,
6212
6340
  disableWikiGraphLibraryIndex,
6341
+ formatWikiGraphLibraryUri as formatWikiGraphLibraryUri3,
6213
6342
  putWikiGraphLibraryMetadata,
6214
6343
  readWikiGraphLibraryIndexState,
6215
6344
  rebuildWikiGraphLibraryIndex,
@@ -6256,13 +6385,13 @@ async function runLibraryCommand(args) {
6256
6385
  return;
6257
6386
  }
6258
6387
  if (args.target.kind === "archive-collection") {
6259
- await writeEmptyLibraryScope(args.json ?? false);
6388
+ await writeLibraryArchives(
6389
+ await listWikiGraphLibraryArchives(args.target),
6390
+ args.json ?? false
6391
+ );
6260
6392
  return;
6261
6393
  }
6262
- await writeLibraryArchives(
6263
- await listWikiGraphLibraryArchives(args.target),
6264
- args.json ?? false
6265
- );
6394
+ await writeLibraryScopeCollection(args.target, args.json ?? false);
6266
6395
  return;
6267
6396
  }
6268
6397
  case "scan": {
@@ -6392,15 +6521,20 @@ async function runLibraryCommand(args) {
6392
6521
  return;
6393
6522
  }
6394
6523
  if (args.target.kind === "archive") {
6395
- await writeLibraryArchive(
6524
+ await writeLibraryArchivePage(
6396
6525
  await getWikiGraphLibraryArchive(args.target),
6397
- args.json ?? false,
6398
- "Library archive"
6526
+ args.json ?? false
6399
6527
  );
6400
6528
  return;
6401
6529
  }
6402
- await resolveWikiGraphLibrary2(args.target);
6403
- await writeEmptyLibraryScope(args.json ?? false);
6530
+ if (args.target.kind === "archive-collection") {
6531
+ await writeLibraryArchives(
6532
+ await listWikiGraphLibraryArchives(args.target),
6533
+ args.json ?? false
6534
+ );
6535
+ return;
6536
+ }
6537
+ await writeLibraryScopeCollection(args.target, args.json ?? false);
6404
6538
  return;
6405
6539
  }
6406
6540
  case "set": {
@@ -6573,8 +6707,23 @@ async function writeLibraryArchives(archives, json) {
6573
6707
  ).join("\n") + (archives.length === 0 ? "" : "\n")
6574
6708
  );
6575
6709
  }
6576
- async function writeEmptyLibraryScope(json) {
6577
- await writeTextToStdout(json ? formatCLIJSON({ items: [] }) : "");
6710
+ async function writeLibraryScopeCollection(target, json) {
6711
+ const library = await resolveWikiGraphLibrary2(target);
6712
+ const baseUri = formatWikiGraphLibraryUri3(target.publicId);
6713
+ const context = {
6714
+ archiveKey: `${baseUri}#scope`,
6715
+ archivePath: baseUri,
6716
+ continuationKind: "collection",
6717
+ format: json ? "json" : "text",
6718
+ indexScope: { kind: "library-index", libraryId: library.id },
6719
+ limit: 20,
6720
+ types: null
6721
+ };
6722
+ await writeFindHits(
6723
+ createCollectionFindResult(await listWikiGraphLibraryObjects3(target)),
6724
+ context,
6725
+ json ? "json" : "text"
6726
+ );
6578
6727
  }
6579
6728
  async function writeLibraryArchive(archive, json, label = "Added library archive") {
6580
6729
  if (json) {
@@ -6587,6 +6736,27 @@ ${archive.relativePath}
6587
6736
  `
6588
6737
  );
6589
6738
  }
6739
+ async function writeLibraryArchivePage(archive, json) {
6740
+ if (json) {
6741
+ await writeTextToStdout(
6742
+ formatCLIJSON(formatLibraryArchivePageJSON(archive))
6743
+ );
6744
+ return;
6745
+ }
6746
+ await writeTextToStdout(
6747
+ [
6748
+ `Library archive: ${archive.uri}`,
6749
+ `Label: ${archive.relativePath}`,
6750
+ `Status: ${archive.status}${archive.exists ? "" : " (missing file)"}`,
6751
+ `Chapter: ${archive.uri}/chapter`,
6752
+ `Entity: ${archive.uri}/entity`,
6753
+ `Triple: ${archive.uri}/triple`,
6754
+ `Inspect: ${archive.uri} inspect`,
6755
+ `Metadata path: ${archive.path}`,
6756
+ ""
6757
+ ].join("\n")
6758
+ );
6759
+ }
6590
6760
  function formatLibraryArchiveJSON(archive) {
6591
6761
  return {
6592
6762
  uri: archive.uri,
@@ -6604,6 +6774,32 @@ function formatLibraryArchiveJSON(archive) {
6604
6774
  updatedAt: archive.updatedAt
6605
6775
  };
6606
6776
  }
6777
+ function formatLibraryArchivePageJSON(archive) {
6778
+ return {
6779
+ uri: archive.uri,
6780
+ id: archive.publicId,
6781
+ libraryUri: archive.libraryUri,
6782
+ label: archive.relativePath,
6783
+ relativePath: archive.relativePath,
6784
+ status: archive.status,
6785
+ entries: {
6786
+ chapter: `${archive.uri}/chapter`,
6787
+ entity: `${archive.uri}/entity`,
6788
+ triple: `${archive.uri}/triple`,
6789
+ inspect: `${archive.uri} inspect`
6790
+ },
6791
+ metadata: {
6792
+ path: archive.path,
6793
+ exists: archive.exists,
6794
+ lastSeenMutationToken: archive.lastSeenMutationToken,
6795
+ lastSeenSize: archive.lastSeenSize,
6796
+ lastSeenMtimeMs: archive.lastSeenMtimeMs,
6797
+ lastScannedAt: archive.lastScannedAt,
6798
+ createdAt: archive.createdAt,
6799
+ updatedAt: archive.updatedAt
6800
+ }
6801
+ };
6802
+ }
6607
6803
  async function writeLibraryArchiveTree(archives, options) {
6608
6804
  const parent = options.parent?.replace(/\\/gu, "/").replace(/^\/+|\/+$/gu, "");
6609
6805
  const root = { children: /* @__PURE__ */ new Map(), name: "", path: "" };
@@ -6779,6 +6975,8 @@ var init_library = __esm({
6779
6975
  "src/commands/library.ts"() {
6780
6976
  "use strict";
6781
6977
  init_support();
6978
+ init_run();
6979
+ init_archive_output();
6782
6980
  init_runtime();
6783
6981
  INDEX_PROGRESS_OUTPUT_INTERVAL_MS2 = 6e3;
6784
6982
  }
@@ -12313,7 +12511,7 @@ function parseLibraryUriFirstArguments(positionals, values) {
12313
12511
  if (target === void 0) {
12314
12512
  throw new Error(`Expected a Wiki Graph library URI: ${uri}`);
12315
12513
  }
12316
- const action = explicitAction ?? (target.kind === "scope" && (target.objectUri !== void 0 && target.objectUri !== "wikg://index" || values.query !== void 0) ? resolveImplicitLibraryQueryAction(target.objectUri, values.query) : target.kind === "scope" || target.kind === "archive-collection" || target.kind === "metadata" || target.kind === "path" || target.kind === "archive" || target.kind === "archive-path" || target.objectUri === "wikg://index" ? "get" : target.kind === "archive-tree" ? "archive-tree" : "list");
12514
+ const action = explicitAction ?? (target.kind === "scope" && (target.objectUri !== void 0 && target.objectUri !== "wikg://index" || values.query !== void 0 || values.limit !== void 0 || values.cursor !== void 0) ? resolveImplicitLibraryQueryAction(target.objectUri, values.query) : target.kind === "scope" || target.kind === "archive-collection" || target.kind === "metadata" || target.kind === "path" || target.kind === "archive" || target.kind === "archive-path" || target.objectUri === "wikg://index" ? "get" : target.kind === "archive-tree" ? "archive-tree" : "list");
12317
12515
  if (action === "inspect" && target.kind !== "archive") {
12318
12516
  throw new Error(
12319
12517
  withHelpRoute(
@@ -12384,7 +12582,7 @@ function parseLibraryUriFirstArguments(positionals, values) {
12384
12582
  values
12385
12583
  );
12386
12584
  }
12387
- if (target.kind === "scope" && (target.objectUri !== void 0 || action === "search")) {
12585
+ if (target.kind === "scope" && (target.objectUri !== void 0 || action === "related" || action === "evidence" || action === "pack" || action === "search" || action === "list" && explicitAction === void 0)) {
12388
12586
  return parseLibraryQueryArguments(
12389
12587
  uri,
12390
12588
  target,
@@ -12619,7 +12817,12 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12619
12817
  );
12620
12818
  }
12621
12819
  if (target.objectUri === void 0 && action !== "search" && action !== "list") {
12622
- throw new Error("Internal error: missing library query object URI.");
12820
+ throw new Error(
12821
+ withHelpRoute(
12822
+ formatMissingLibraryQueryObjectUriMessage(action),
12823
+ formatWikiGraphHelpCommand(uri, action)
12824
+ )
12825
+ );
12623
12826
  }
12624
12827
  const parsed = parseArchiveArguments(
12625
12828
  action,
@@ -12630,7 +12833,8 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12630
12833
  values,
12631
12834
  formatWikiGraphHelpCommand(uri, action),
12632
12835
  {
12633
- ...optionalDefaultKinds(getLibraryQueryDefaultKinds(target.objectUri))
12836
+ ...optionalDefaultKinds(getLibraryQueryDefaultKinds(target.objectUri)),
12837
+ ...optionalTriplePattern(getLibraryQueryTriplePattern(target.objectUri))
12634
12838
  }
12635
12839
  );
12636
12840
  if (parsed.kind !== "archive") {
@@ -12647,9 +12851,15 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12647
12851
  }
12648
12852
  };
12649
12853
  }
12854
+ function formatMissingLibraryQueryObjectUriMessage(action) {
12855
+ return `The library \`${action}\` predicate requires a concrete library object URI.`;
12856
+ }
12650
12857
  function optionalDefaultKinds(defaultKinds) {
12651
12858
  return defaultKinds === void 0 ? {} : { defaultKinds };
12652
12859
  }
12860
+ function optionalTriplePattern(triplePattern) {
12861
+ return triplePattern === void 0 ? {} : { triplePattern };
12862
+ }
12653
12863
  function optionalObjectId(objectId) {
12654
12864
  return objectId === void 0 ? {} : { objectId };
12655
12865
  }
@@ -12661,6 +12871,25 @@ function getLibraryQueryDefaultKinds(objectUri) {
12661
12871
  if (objectUri === void 0) {
12662
12872
  return void 0;
12663
12873
  }
12874
+ const chapterTarget = parseChapterTarget(objectUri);
12875
+ if (chapterTarget !== void 0) {
12876
+ switch (chapterTarget.kind) {
12877
+ case "collection":
12878
+ case "chapter":
12879
+ return ["chapter"];
12880
+ case "lens":
12881
+ case "chapter-lens":
12882
+ return [chapterTarget.lens];
12883
+ case "triple-pattern-lens":
12884
+ case "chapter-triple-pattern-lens":
12885
+ return ["triple"];
12886
+ case "chapter-resource":
12887
+ return chapterTarget.resource === "title" ? void 0 : [chapterTarget.resource];
12888
+ case "chapter-state":
12889
+ case "tree":
12890
+ return void 0;
12891
+ }
12892
+ }
12664
12893
  const path = stripObjectUriPrefix(objectUri);
12665
12894
  const [head] = path.split("/");
12666
12895
  switch (head) {
@@ -12680,16 +12909,51 @@ function getLibraryQueryDefaultKinds(objectUri) {
12680
12909
  return void 0;
12681
12910
  }
12682
12911
  }
12912
+ function getLibraryQueryTriplePattern(objectUri) {
12913
+ if (objectUri === void 0) {
12914
+ return void 0;
12915
+ }
12916
+ const chapterTarget = parseChapterTarget(objectUri);
12917
+ if (chapterTarget === void 0) {
12918
+ return void 0;
12919
+ }
12920
+ switch (chapterTarget.kind) {
12921
+ case "triple-pattern-lens":
12922
+ case "chapter-triple-pattern-lens":
12923
+ return chapterTarget.pattern;
12924
+ default:
12925
+ return void 0;
12926
+ }
12927
+ }
12683
12928
  function resolveImplicitLibraryQueryAction(objectUri, query) {
12684
12929
  if (objectUri === void 0) {
12685
12930
  return query === void 0 ? "list" : "search";
12686
12931
  }
12687
- const path = stripObjectUriPrefix(objectUri);
12688
- if (/^(?:chapter|chunk|entity|source|summary|triple)$/u.test(path)) {
12932
+ if (isLibraryScopeObjectUri(objectUri)) {
12689
12933
  return query === void 0 ? "list" : "search";
12690
12934
  }
12691
12935
  return "get";
12692
12936
  }
12937
+ function isLibraryScopeObjectUri(objectUri) {
12938
+ const chapterTarget = parseChapterTarget(objectUri);
12939
+ if (chapterTarget !== void 0) {
12940
+ switch (chapterTarget.kind) {
12941
+ case "collection":
12942
+ case "chapter":
12943
+ case "lens":
12944
+ case "triple-pattern-lens":
12945
+ case "chapter-lens":
12946
+ case "chapter-triple-pattern-lens":
12947
+ return true;
12948
+ case "chapter-resource":
12949
+ case "chapter-state":
12950
+ case "tree":
12951
+ return false;
12952
+ }
12953
+ }
12954
+ const path = stripObjectUriPrefix(objectUri);
12955
+ return /^(?:chunk|entity|source|summary|triple)$/u.test(path) ? true : isTripleScopePath(path);
12956
+ }
12693
12957
  function parseLibraryRegistryArguments(uri, target, action, tail, values) {
12694
12958
  const helpRoute = formatWikiGraphHelpCommand(uri, action);
12695
12959
  if (!LIBRARY_REGISTRY_ACTIONS.has(action)) {