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.cjs CHANGED
@@ -2835,7 +2835,9 @@ async function createFindObject(hit, context) {
2835
2835
  if (hit.type === "meta") {
2836
2836
  return {
2837
2837
  ...librarySource,
2838
+ text: hit.snippet,
2838
2839
  title: hit.title,
2840
+ type: "meta",
2839
2841
  uri
2840
2842
  };
2841
2843
  }
@@ -4218,6 +4220,19 @@ async function runNextLibraryIndexPage(args, cursor) {
4218
4220
  types: cursor.types
4219
4221
  });
4220
4222
  }
4223
+ if (isLibraryArchiveMemberCursor(cursor)) {
4224
+ await writeFindHits(
4225
+ createCollectionFindResult(
4226
+ await (0, import_wiki_graph_core35.listWikiGraphLibraryArchiveMembers)(target, collectionOptions)
4227
+ ),
4228
+ {
4229
+ ...createCursorOutputContext(cursor, format, limit),
4230
+ continuationKind: "collection"
4231
+ },
4232
+ format
4233
+ );
4234
+ return;
4235
+ }
4221
4236
  await writeFindHits(
4222
4237
  createCollectionFindResult(
4223
4238
  await (0, import_wiki_graph_core35.listWikiGraphLibraryObjects)(target, collectionOptions)
@@ -4246,6 +4261,18 @@ async function runNextLibraryIndexPage(args, cursor) {
4246
4261
  types: cursor.types
4247
4262
  });
4248
4263
  }
4264
+ if (isLibraryArchiveMemberCursor(cursor)) {
4265
+ await writeFindHits(
4266
+ await (0, import_wiki_graph_core35.findWikiGraphLibraryArchiveMembers)(
4267
+ target,
4268
+ cursor.query ?? "",
4269
+ findOptions
4270
+ ),
4271
+ createCursorOutputContext(cursor, format, limit),
4272
+ format
4273
+ );
4274
+ return;
4275
+ }
4249
4276
  await writeFindHits(
4250
4277
  await (0, import_wiki_graph_core35.findWikiGraphLibraryObjects)(
4251
4278
  target,
@@ -4301,6 +4328,10 @@ async function runNextLibraryIndexPage(args, cursor) {
4301
4328
  return;
4302
4329
  }
4303
4330
  }
4331
+ function isLibraryArchiveMemberCursor(cursor) {
4332
+ const target = (0, import_wiki_graph_core35.parseWikiGraphLibraryUri)(cursor.archivePath);
4333
+ return target?.kind === "scope" && target.objectUri === void 0 && cursor.archiveKey === cursor.archivePath;
4334
+ }
4304
4335
  function createCursorOutputContext(cursor, format, limit) {
4305
4336
  return {
4306
4337
  archiveKey: cursor.archiveKey,
@@ -4439,7 +4470,7 @@ __export(archive_command_exports, {
4439
4470
  });
4440
4471
  async function runArchiveCommand(args) {
4441
4472
  const libraryTarget = (0, import_wiki_graph_core38.parseWikiGraphLibraryUri)(args.archivePath);
4442
- if (libraryTarget?.kind === "scope" && libraryTarget.objectUri !== "wikg://index" && (libraryTarget.objectUri !== void 0 || args.action === "search" || args.action === "list")) {
4473
+ 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")) {
4443
4474
  await runLibraryIndexArchiveCommand(args, libraryTarget);
4444
4475
  return;
4445
4476
  }
@@ -4672,15 +4703,39 @@ async function runArchiveCommand(args) {
4672
4703
  }
4673
4704
  async function runLibraryIndexArchiveCommand(args, target) {
4674
4705
  const library = await (0, import_wiki_graph_core38.resolveWikiGraphLibrary)(target);
4675
- const objectUri = target.objectUri === void 0 && args.objectId === void 0 ? "wikg://" : getObjectUri(args.objectId ?? args.archivePath);
4706
+ const isLibraryRootCollection = target.objectUri === void 0 && args.objectId === void 0;
4707
+ const objectUri = isLibraryRootCollection ? void 0 : getObjectUri(args.objectId ?? args.archivePath);
4676
4708
  const context = {
4677
4709
  ...createArchiveOutputContext(args),
4678
- archiveKey: args.archivePath,
4710
+ archiveKey: isLibraryRootCollection ? `${(0, import_wiki_graph_core38.formatWikiGraphLibraryUri)(target.publicId)}#scope` : args.archivePath,
4679
4711
  archivePath: args.archivePath,
4680
4712
  indexScope: { kind: "library-index", libraryId: library.id }
4681
4713
  };
4682
4714
  switch (args.action) {
4683
4715
  case "search":
4716
+ if (objectUri === void 0) {
4717
+ if (args.all === true) {
4718
+ await writeAllFindHits(
4719
+ async (cursor) => await (0, import_wiki_graph_core38.findWikiGraphLibraryObjects)(target, args.query, {
4720
+ ...createFindOptions(args),
4721
+ ...cursor === void 0 ? {} : { cursor }
4722
+ }),
4723
+ context,
4724
+ args.format ?? "text"
4725
+ );
4726
+ return;
4727
+ }
4728
+ await writeFindHits(
4729
+ await (0, import_wiki_graph_core38.findWikiGraphLibraryObjects)(
4730
+ target,
4731
+ args.query,
4732
+ createFindOptions(args)
4733
+ ),
4734
+ context,
4735
+ args.format ?? "text"
4736
+ );
4737
+ return;
4738
+ }
4684
4739
  if (args.all === true) {
4685
4740
  await writeAllFindHits(
4686
4741
  async (cursor) => await (0, import_wiki_graph_core38.findWikiGraphLibraryObjects)(target, args.query, {
@@ -4707,6 +4762,45 @@ async function runLibraryIndexArchiveCommand(args, target) {
4707
4762
  ...context,
4708
4763
  continuationKind: "collection"
4709
4764
  };
4765
+ if (objectUri === void 0) {
4766
+ if (args.all === true) {
4767
+ if (args.limit !== void 0) {
4768
+ await writeAllFindHits(
4769
+ async (cursor) => createCollectionFindResult(
4770
+ await (0, import_wiki_graph_core38.listWikiGraphLibraryObjects)(target, {
4771
+ ...createCollectionOptions(args),
4772
+ ...cursor === void 0 ? {} : { cursor }
4773
+ })
4774
+ ),
4775
+ listContext,
4776
+ args.format ?? "text"
4777
+ );
4778
+ return;
4779
+ }
4780
+ await writeFindHitsWithoutContinuation(
4781
+ createCollectionFindResult(
4782
+ await (0, import_wiki_graph_core38.listWikiGraphLibraryObjects)(target, {
4783
+ ...createCollectionOptions(args),
4784
+ limit: ALL_COLLECTION_OUTPUT_LIMIT
4785
+ })
4786
+ ),
4787
+ listContext,
4788
+ args.format ?? "text"
4789
+ );
4790
+ return;
4791
+ }
4792
+ await writeFindHits(
4793
+ createCollectionFindResult(
4794
+ await (0, import_wiki_graph_core38.listWikiGraphLibraryObjects)(
4795
+ target,
4796
+ createCollectionOptions(args)
4797
+ )
4798
+ ),
4799
+ listContext,
4800
+ args.format ?? "text"
4801
+ );
4802
+ return;
4803
+ }
4710
4804
  if (args.all === true) {
4711
4805
  if (args.limit !== void 0) {
4712
4806
  await writeAllFindHits(
@@ -4746,6 +4840,23 @@ async function runLibraryIndexArchiveCommand(args, target) {
4746
4840
  return;
4747
4841
  }
4748
4842
  case "get": {
4843
+ if (objectUri === void 0) {
4844
+ const getContext = {
4845
+ ...context,
4846
+ continuationKind: "collection"
4847
+ };
4848
+ await writeFindHits(
4849
+ createCollectionFindResult(
4850
+ await (0, import_wiki_graph_core38.listWikiGraphLibraryObjects)(
4851
+ target,
4852
+ createCollectionOptions(args)
4853
+ )
4854
+ ),
4855
+ getContext,
4856
+ args.format ?? "text"
4857
+ );
4858
+ return;
4859
+ }
4749
4860
  const evidenceLimit = getSingleObjectEvidenceLimit(args, objectUri);
4750
4861
  await writePage(
4751
4862
  await (0, import_wiki_graph_core38.readWikiGraphLibraryPage)(target, objectUri, {
@@ -4760,12 +4871,13 @@ async function runLibraryIndexArchiveCommand(args, target) {
4760
4871
  return;
4761
4872
  }
4762
4873
  case "related": {
4874
+ const concreteObjectUri = requireLibraryObjectUri("related", objectUri);
4763
4875
  const relatedContext = {
4764
4876
  ...context,
4765
4877
  continuationKind: "related",
4766
- targetUri: objectUri
4878
+ targetUri: concreteObjectUri
4767
4879
  };
4768
- const readPage = async (cursor) => await (0, import_wiki_graph_core38.listRelatedWikiGraphLibraryObjects)(target, objectUri, {
4880
+ const readPage = async (cursor) => await (0, import_wiki_graph_core38.listRelatedWikiGraphLibraryObjects)(target, concreteObjectUri, {
4769
4881
  ...cursor === void 0 ? {} : { cursor },
4770
4882
  ...createOptionalEvidenceLimit(args),
4771
4883
  ...args.limit === void 0 ? {} : { limit: args.limit },
@@ -4791,14 +4903,15 @@ async function runLibraryIndexArchiveCommand(args, target) {
4791
4903
  return;
4792
4904
  }
4793
4905
  case "evidence": {
4906
+ const concreteObjectUri = requireLibraryObjectUri("evidence", objectUri);
4794
4907
  const evidenceContext = {
4795
4908
  ...context,
4796
4909
  continuationKind: "evidence",
4797
- targetUri: objectUri
4910
+ targetUri: concreteObjectUri
4798
4911
  };
4799
4912
  if (args.all === true) {
4800
4913
  await writeAllEvidence(
4801
- async (cursor) => await (0, import_wiki_graph_core38.listWikiGraphLibraryEvidence)(target, objectUri, {
4914
+ async (cursor) => await (0, import_wiki_graph_core38.listWikiGraphLibraryEvidence)(target, concreteObjectUri, {
4802
4915
  ...cursor === void 0 ? {} : { cursor },
4803
4916
  ...args.limit === void 0 ? {} : { limit: args.limit },
4804
4917
  ...args.reverse === true ? { order: "doc-desc" } : {},
@@ -4811,7 +4924,7 @@ async function runLibraryIndexArchiveCommand(args, target) {
4811
4924
  return;
4812
4925
  }
4813
4926
  await writeEvidence(
4814
- await (0, import_wiki_graph_core38.listWikiGraphLibraryEvidence)(target, objectUri, {
4927
+ await (0, import_wiki_graph_core38.listWikiGraphLibraryEvidence)(target, concreteObjectUri, {
4815
4928
  ...args.cursor === void 0 ? {} : { cursor: args.cursor },
4816
4929
  ...args.limit === void 0 ? {} : { limit: args.limit },
4817
4930
  ...args.reverse === true ? { order: "doc-desc" } : {},
@@ -4823,17 +4936,19 @@ async function runLibraryIndexArchiveCommand(args, target) {
4823
4936
  );
4824
4937
  return;
4825
4938
  }
4826
- case "pack":
4939
+ case "pack": {
4940
+ const concreteObjectUri = requireLibraryObjectUri("pack", objectUri);
4827
4941
  await writePack(
4828
4942
  await (0, import_wiki_graph_core38.packWikiGraphLibraryContext)(
4829
4943
  target,
4830
- objectUri,
4944
+ concreteObjectUri,
4831
4945
  args.budget ?? 5e3
4832
4946
  ),
4833
4947
  context,
4834
4948
  args.format ?? "text"
4835
4949
  );
4836
4950
  return;
4951
+ }
4837
4952
  case "create":
4838
4953
  case "export":
4839
4954
  case "inspect":
@@ -4843,6 +4958,14 @@ async function runLibraryIndexArchiveCommand(args, target) {
4843
4958
  );
4844
4959
  }
4845
4960
  }
4961
+ function requireLibraryObjectUri(action, objectUri) {
4962
+ if (objectUri === void 0) {
4963
+ throw new Error(
4964
+ `The library \`${action}\` predicate requires a concrete library object URI.`
4965
+ );
4966
+ }
4967
+ return objectUri;
4968
+ }
4846
4969
  var import_wiki_graph_core38;
4847
4970
  var init_archive_command = __esm({
4848
4971
  "src/commands/archive-command/index.ts"() {
@@ -6182,13 +6305,13 @@ async function runLibraryCommand(args) {
6182
6305
  return;
6183
6306
  }
6184
6307
  if (args.target.kind === "archive-collection") {
6185
- await writeEmptyLibraryScope(args.json ?? false);
6308
+ await writeLibraryArchives(
6309
+ await (0, import_wiki_graph_core48.listWikiGraphLibraryArchives)(args.target),
6310
+ args.json ?? false
6311
+ );
6186
6312
  return;
6187
6313
  }
6188
- await writeLibraryArchives(
6189
- await (0, import_wiki_graph_core48.listWikiGraphLibraryArchives)(args.target),
6190
- args.json ?? false
6191
- );
6314
+ await writeLibraryScopeCollection(args.target, args.json ?? false);
6192
6315
  return;
6193
6316
  }
6194
6317
  case "scan": {
@@ -6318,15 +6441,20 @@ async function runLibraryCommand(args) {
6318
6441
  return;
6319
6442
  }
6320
6443
  if (args.target.kind === "archive") {
6321
- await writeLibraryArchive(
6444
+ await writeLibraryArchivePage(
6322
6445
  await (0, import_wiki_graph_core48.getWikiGraphLibraryArchive)(args.target),
6323
- args.json ?? false,
6324
- "Library archive"
6446
+ args.json ?? false
6447
+ );
6448
+ return;
6449
+ }
6450
+ if (args.target.kind === "archive-collection") {
6451
+ await writeLibraryArchives(
6452
+ await (0, import_wiki_graph_core48.listWikiGraphLibraryArchives)(args.target),
6453
+ args.json ?? false
6325
6454
  );
6326
6455
  return;
6327
6456
  }
6328
- await (0, import_wiki_graph_core48.resolveWikiGraphLibrary)(args.target);
6329
- await writeEmptyLibraryScope(args.json ?? false);
6457
+ await writeLibraryScopeCollection(args.target, args.json ?? false);
6330
6458
  return;
6331
6459
  }
6332
6460
  case "set": {
@@ -6499,8 +6627,23 @@ async function writeLibraryArchives(archives, json) {
6499
6627
  ).join("\n") + (archives.length === 0 ? "" : "\n")
6500
6628
  );
6501
6629
  }
6502
- async function writeEmptyLibraryScope(json) {
6503
- await writeTextToStdout(json ? formatCLIJSON({ items: [] }) : "");
6630
+ async function writeLibraryScopeCollection(target, json) {
6631
+ const library = await (0, import_wiki_graph_core48.resolveWikiGraphLibrary)(target);
6632
+ const baseUri = (0, import_wiki_graph_core48.formatWikiGraphLibraryUri)(target.publicId);
6633
+ const context = {
6634
+ archiveKey: `${baseUri}#scope`,
6635
+ archivePath: baseUri,
6636
+ continuationKind: "collection",
6637
+ format: json ? "json" : "text",
6638
+ indexScope: { kind: "library-index", libraryId: library.id },
6639
+ limit: 20,
6640
+ types: null
6641
+ };
6642
+ await writeFindHits(
6643
+ createCollectionFindResult(await (0, import_wiki_graph_core48.listWikiGraphLibraryObjects)(target)),
6644
+ context,
6645
+ json ? "json" : "text"
6646
+ );
6504
6647
  }
6505
6648
  async function writeLibraryArchive(archive, json, label = "Added library archive") {
6506
6649
  if (json) {
@@ -6513,6 +6656,27 @@ ${archive.relativePath}
6513
6656
  `
6514
6657
  );
6515
6658
  }
6659
+ async function writeLibraryArchivePage(archive, json) {
6660
+ if (json) {
6661
+ await writeTextToStdout(
6662
+ formatCLIJSON(formatLibraryArchivePageJSON(archive))
6663
+ );
6664
+ return;
6665
+ }
6666
+ await writeTextToStdout(
6667
+ [
6668
+ `Library archive: ${archive.uri}`,
6669
+ `Label: ${archive.relativePath}`,
6670
+ `Status: ${archive.status}${archive.exists ? "" : " (missing file)"}`,
6671
+ `Chapter: ${archive.uri}/chapter`,
6672
+ `Entity: ${archive.uri}/entity`,
6673
+ `Triple: ${archive.uri}/triple`,
6674
+ `Inspect: ${archive.uri} inspect`,
6675
+ `Metadata path: ${archive.path}`,
6676
+ ""
6677
+ ].join("\n")
6678
+ );
6679
+ }
6516
6680
  function formatLibraryArchiveJSON(archive) {
6517
6681
  return {
6518
6682
  uri: archive.uri,
@@ -6530,6 +6694,32 @@ function formatLibraryArchiveJSON(archive) {
6530
6694
  updatedAt: archive.updatedAt
6531
6695
  };
6532
6696
  }
6697
+ function formatLibraryArchivePageJSON(archive) {
6698
+ return {
6699
+ uri: archive.uri,
6700
+ id: archive.publicId,
6701
+ libraryUri: archive.libraryUri,
6702
+ label: archive.relativePath,
6703
+ relativePath: archive.relativePath,
6704
+ status: archive.status,
6705
+ entries: {
6706
+ chapter: `${archive.uri}/chapter`,
6707
+ entity: `${archive.uri}/entity`,
6708
+ triple: `${archive.uri}/triple`,
6709
+ inspect: `${archive.uri} inspect`
6710
+ },
6711
+ metadata: {
6712
+ path: archive.path,
6713
+ exists: archive.exists,
6714
+ lastSeenMutationToken: archive.lastSeenMutationToken,
6715
+ lastSeenSize: archive.lastSeenSize,
6716
+ lastSeenMtimeMs: archive.lastSeenMtimeMs,
6717
+ lastScannedAt: archive.lastScannedAt,
6718
+ createdAt: archive.createdAt,
6719
+ updatedAt: archive.updatedAt
6720
+ }
6721
+ };
6722
+ }
6533
6723
  async function writeLibraryArchiveTree(archives, options) {
6534
6724
  const parent = options.parent?.replace(/\\/gu, "/").replace(/^\/+|\/+$/gu, "");
6535
6725
  const root = { children: /* @__PURE__ */ new Map(), name: "", path: "" };
@@ -6707,6 +6897,8 @@ var init_library = __esm({
6707
6897
  import_promises6 = require("fs/promises");
6708
6898
  import_wiki_graph_core48 = require("wiki-graph-core");
6709
6899
  init_support();
6900
+ init_run();
6901
+ init_archive_output();
6710
6902
  init_runtime();
6711
6903
  INDEX_PROGRESS_OUTPUT_INTERVAL_MS2 = 6e3;
6712
6904
  }
@@ -12193,7 +12385,7 @@ function parseLibraryUriFirstArguments(positionals, values) {
12193
12385
  if (target === void 0) {
12194
12386
  throw new Error(`Expected a Wiki Graph library URI: ${uri}`);
12195
12387
  }
12196
- 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");
12388
+ 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");
12197
12389
  if (action === "inspect" && target.kind !== "archive") {
12198
12390
  throw new Error(
12199
12391
  withHelpRoute(
@@ -12264,7 +12456,7 @@ function parseLibraryUriFirstArguments(positionals, values) {
12264
12456
  values
12265
12457
  );
12266
12458
  }
12267
- if (target.kind === "scope" && (target.objectUri !== void 0 || action === "search")) {
12459
+ if (target.kind === "scope" && (target.objectUri !== void 0 || action === "related" || action === "evidence" || action === "pack" || action === "search" || action === "list" && explicitAction === void 0)) {
12268
12460
  return parseLibraryQueryArguments(
12269
12461
  uri,
12270
12462
  target,
@@ -12499,7 +12691,12 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12499
12691
  );
12500
12692
  }
12501
12693
  if (target.objectUri === void 0 && action !== "search" && action !== "list") {
12502
- throw new Error("Internal error: missing library query object URI.");
12694
+ throw new Error(
12695
+ withHelpRoute(
12696
+ formatMissingLibraryQueryObjectUriMessage(action),
12697
+ formatWikiGraphHelpCommand(uri, action)
12698
+ )
12699
+ );
12503
12700
  }
12504
12701
  const parsed = parseArchiveArguments(
12505
12702
  action,
@@ -12510,7 +12707,8 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12510
12707
  values,
12511
12708
  formatWikiGraphHelpCommand(uri, action),
12512
12709
  {
12513
- ...optionalDefaultKinds(getLibraryQueryDefaultKinds(target.objectUri))
12710
+ ...optionalDefaultKinds(getLibraryQueryDefaultKinds(target.objectUri)),
12711
+ ...optionalTriplePattern(getLibraryQueryTriplePattern(target.objectUri))
12514
12712
  }
12515
12713
  );
12516
12714
  if (parsed.kind !== "archive") {
@@ -12527,9 +12725,15 @@ function parseLibraryQueryArguments(uri, target, action, tail, values) {
12527
12725
  }
12528
12726
  };
12529
12727
  }
12728
+ function formatMissingLibraryQueryObjectUriMessage(action) {
12729
+ return `The library \`${action}\` predicate requires a concrete library object URI.`;
12730
+ }
12530
12731
  function optionalDefaultKinds(defaultKinds) {
12531
12732
  return defaultKinds === void 0 ? {} : { defaultKinds };
12532
12733
  }
12734
+ function optionalTriplePattern(triplePattern) {
12735
+ return triplePattern === void 0 ? {} : { triplePattern };
12736
+ }
12533
12737
  function optionalObjectId(objectId) {
12534
12738
  return objectId === void 0 ? {} : { objectId };
12535
12739
  }
@@ -12541,6 +12745,25 @@ function getLibraryQueryDefaultKinds(objectUri) {
12541
12745
  if (objectUri === void 0) {
12542
12746
  return void 0;
12543
12747
  }
12748
+ const chapterTarget = parseChapterTarget(objectUri);
12749
+ if (chapterTarget !== void 0) {
12750
+ switch (chapterTarget.kind) {
12751
+ case "collection":
12752
+ case "chapter":
12753
+ return ["chapter"];
12754
+ case "lens":
12755
+ case "chapter-lens":
12756
+ return [chapterTarget.lens];
12757
+ case "triple-pattern-lens":
12758
+ case "chapter-triple-pattern-lens":
12759
+ return ["triple"];
12760
+ case "chapter-resource":
12761
+ return chapterTarget.resource === "title" ? void 0 : [chapterTarget.resource];
12762
+ case "chapter-state":
12763
+ case "tree":
12764
+ return void 0;
12765
+ }
12766
+ }
12544
12767
  const path = stripObjectUriPrefix(objectUri);
12545
12768
  const [head] = path.split("/");
12546
12769
  switch (head) {
@@ -12560,16 +12783,51 @@ function getLibraryQueryDefaultKinds(objectUri) {
12560
12783
  return void 0;
12561
12784
  }
12562
12785
  }
12786
+ function getLibraryQueryTriplePattern(objectUri) {
12787
+ if (objectUri === void 0) {
12788
+ return void 0;
12789
+ }
12790
+ const chapterTarget = parseChapterTarget(objectUri);
12791
+ if (chapterTarget === void 0) {
12792
+ return void 0;
12793
+ }
12794
+ switch (chapterTarget.kind) {
12795
+ case "triple-pattern-lens":
12796
+ case "chapter-triple-pattern-lens":
12797
+ return chapterTarget.pattern;
12798
+ default:
12799
+ return void 0;
12800
+ }
12801
+ }
12563
12802
  function resolveImplicitLibraryQueryAction(objectUri, query) {
12564
12803
  if (objectUri === void 0) {
12565
12804
  return query === void 0 ? "list" : "search";
12566
12805
  }
12567
- const path = stripObjectUriPrefix(objectUri);
12568
- if (/^(?:chapter|chunk|entity|source|summary|triple)$/u.test(path)) {
12806
+ if (isLibraryScopeObjectUri(objectUri)) {
12569
12807
  return query === void 0 ? "list" : "search";
12570
12808
  }
12571
12809
  return "get";
12572
12810
  }
12811
+ function isLibraryScopeObjectUri(objectUri) {
12812
+ const chapterTarget = parseChapterTarget(objectUri);
12813
+ if (chapterTarget !== void 0) {
12814
+ switch (chapterTarget.kind) {
12815
+ case "collection":
12816
+ case "chapter":
12817
+ case "lens":
12818
+ case "triple-pattern-lens":
12819
+ case "chapter-lens":
12820
+ case "chapter-triple-pattern-lens":
12821
+ return true;
12822
+ case "chapter-resource":
12823
+ case "chapter-state":
12824
+ case "tree":
12825
+ return false;
12826
+ }
12827
+ }
12828
+ const path = stripObjectUriPrefix(objectUri);
12829
+ return /^(?:chunk|entity|source|summary|triple)$/u.test(path) ? true : isTripleScopePath(path);
12830
+ }
12573
12831
  function parseLibraryRegistryArguments(uri, target, action, tail, values) {
12574
12832
  const helpRoute = formatWikiGraphHelpCommand(uri, action);
12575
12833
  if (!LIBRARY_REGISTRY_ACTIONS.has(action)) {