wiki-graph-sdk 0.8.0 → 0.8.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.
Files changed (52) hide show
  1. package/README.md +21 -0
  2. package/dist/archives.cjs +91 -17
  3. package/dist/archives.cjs.map +1 -1
  4. package/dist/archives.d.ts +8 -2
  5. package/dist/archives.js +92 -17
  6. package/dist/archives.js.map +1 -1
  7. package/dist/conversions.cjs +23 -5
  8. package/dist/conversions.cjs.map +1 -1
  9. package/dist/conversions.d.ts +6 -1
  10. package/dist/conversions.js +23 -5
  11. package/dist/conversions.js.map +1 -1
  12. package/dist/default-worker.cjs +34 -11
  13. package/dist/default-worker.cjs.map +1 -1
  14. package/dist/default-worker.d.ts +1 -0
  15. package/dist/default-worker.js +34 -11
  16. package/dist/default-worker.js.map +1 -1
  17. package/dist/embedding.cjs +2 -1
  18. package/dist/embedding.cjs.map +1 -1
  19. package/dist/embedding.d.ts +4 -4
  20. package/dist/embedding.js +2 -1
  21. package/dist/embedding.js.map +1 -1
  22. package/dist/index.cjs +336 -46
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.ts +26 -9
  25. package/dist/index.js +337 -47
  26. package/dist/index.js.map +1 -1
  27. package/dist/{jobs-xIm_kshM.d.ts → jobs-CRK-DZ40.d.ts} +5 -0
  28. package/dist/local-config.cjs +2 -1
  29. package/dist/local-config.cjs.map +1 -1
  30. package/dist/local-config.js +2 -1
  31. package/dist/local-config.js.map +1 -1
  32. package/dist/maintenance.cjs +2 -1
  33. package/dist/maintenance.cjs.map +1 -1
  34. package/dist/maintenance.d.ts +4 -1
  35. package/dist/maintenance.js +2 -1
  36. package/dist/maintenance.js.map +1 -1
  37. package/dist/runtime-config.cjs +4 -3
  38. package/dist/runtime-config.cjs.map +1 -1
  39. package/dist/runtime-config.d.ts +4 -1
  40. package/dist/runtime-config.js +4 -3
  41. package/dist/runtime-config.js.map +1 -1
  42. package/dist/stage-BnWI3Rqt.d.ts +33 -0
  43. package/dist/stage.cjs +22 -12
  44. package/dist/stage.cjs.map +1 -1
  45. package/dist/stage.d.ts +2 -14
  46. package/dist/stage.js +22 -12
  47. package/dist/stage.js.map +1 -1
  48. package/dist/worker.cjs +2 -1
  49. package/dist/worker.cjs.map +1 -1
  50. package/dist/worker.js +2 -1
  51. package/dist/worker.js.map +1 -1
  52. package/package.json +2 -2
@@ -69,12 +69,16 @@ function getWikiGraphSDKRuntimeContext() {
69
69
  return runtimeContext.getStore() ?? {
70
70
  cwd: process.cwd(),
71
71
  env: process.env,
72
- envPolicy: "production"
72
+ envPolicy: "production",
73
+ providers: {}
73
74
  };
74
75
  }
75
76
  function getWikiGraphSDKStateDir() {
76
77
  return getWikiGraphSDKRuntimeContext().stateDir;
77
78
  }
79
+ function getWikiGraphSDKProviders() {
80
+ return getWikiGraphSDKRuntimeContext().providers ?? {};
81
+ }
78
82
 
79
83
  // src/node-platform.ts
80
84
  var asyncHooks = __toESM(require("async_hooks"), 1);
@@ -1090,8 +1094,8 @@ var inlineLLMConfigSchema = import_zod.z.object({
1090
1094
  });
1091
1095
  async function loadWikiGraphRuntimeConfig(options) {
1092
1096
  const [embedding, localLLM, concurrent, wikimedia, wikispine] = await Promise.all([
1093
- readLocalConfigSection("embeddings"),
1094
- readLocalConfigSection("llm"),
1097
+ options?.skipEmbeddingConfig === true ? Promise.resolve({}) : readLocalConfigSection("embeddings"),
1098
+ options?.skipLLMConfig === true ? Promise.resolve({}) : readLocalConfigSection("llm"),
1095
1099
  readLocalConfigSection("concurrent"),
1096
1100
  readLocalConfigSection("wikimedia"),
1097
1101
  readLocalConfigSection("wikispine")
@@ -1366,7 +1370,10 @@ function createOpenAICompatibleName2(baseURL) {
1366
1370
 
1367
1371
  // src/stage.ts
1368
1372
  function createStageLLM(config, options) {
1369
- const llmOptions = buildWikiGraphLLMOptions(config);
1373
+ const llmOptions = options?.provider === void 0 ? buildWikiGraphLLMOptions(config) : {
1374
+ ...config.concurrent?.request === void 0 ? {} : { concurrent: config.concurrent.request },
1375
+ streamProvider: options.provider
1376
+ };
1370
1377
  return new import_wiki_graph_core4.LLM({
1371
1378
  sampling: (0, import_wiki_graph_core3.createDefaultWikiGraphSampling)({
1372
1379
  ...llmOptions.temperature === void 0 ? {} : { temperature: llmOptions.temperature },
@@ -1380,10 +1387,13 @@ function createStageLLM(config, options) {
1380
1387
  });
1381
1388
  }
1382
1389
  async function loadRequiredStageConfig(options) {
1390
+ const injected = options.llmJSON === void 0 ? getWikiGraphSDKProviders().llm : void 0;
1383
1391
  const config = await loadWikiGraphRuntimeConfig({
1384
- ...options.llmJSON === void 0 ? {} : { llmJSON: options.llmJSON }
1392
+ ...options.llmJSON === void 0 ? {} : { llmJSON: options.llmJSON },
1393
+ ...options.llmJSON === void 0 && injected !== void 0 ? { skipLLMConfig: true } : {},
1394
+ ...getWikiGraphSDKProviders().embedding === void 0 ? {} : { skipEmbeddingConfig: true }
1385
1395
  });
1386
- if (config.llm?.provider === void 0 || config.llm.model === void 0) {
1396
+ if (injected === void 0 && (config.llm?.provider === void 0 || config.llm.model === void 0)) {
1387
1397
  throw new Error(
1388
1398
  "Missing LLM configuration. Set --llm for one run, or configure `wikg://local/config/llm` with provider and model."
1389
1399
  );
@@ -1683,7 +1693,11 @@ async function runBuildJobWorker(options) {
1683
1693
 
1684
1694
  // src/default-worker.ts
1685
1695
  async function runWikiGraphQueueWorker(options = {}) {
1686
- const config = await loadWikiGraphRuntimeConfig();
1696
+ const providers = getWikiGraphSDKProviders();
1697
+ const config = await loadWikiGraphRuntimeConfig({
1698
+ ...providers.embedding === void 0 ? {} : { skipEmbeddingConfig: true },
1699
+ ...providers.llm === void 0 ? {} : { skipLLMConfig: true }
1700
+ });
1687
1701
  await runBuildJobWorker({
1688
1702
  concurrency: config.concurrent?.job ?? DEFAULT_GENERATION_JOB_CONCURRENCY,
1689
1703
  executeJob: async (job, reporter, context) => {
@@ -1692,12 +1706,16 @@ async function runWikiGraphQueueWorker(options = {}) {
1692
1706
  async () => await executeBuildJob(job, reporter, context)
1693
1707
  );
1694
1708
  },
1709
+ ...options.idleTimeoutMs === void 0 ? {} : { idleTimeoutMs: options.idleTimeoutMs },
1695
1710
  ...options.signal === void 0 ? {} : { signal: options.signal }
1696
1711
  });
1697
1712
  }
1698
1713
  async function executeBuildJob(job, reporter, context) {
1714
+ const providers = getWikiGraphSDKProviders();
1699
1715
  const config = await loadWikiGraphRuntimeConfig({
1700
- ...job.llmJSON === void 0 ? {} : { llmJSON: job.llmJSON }
1716
+ ...job.llmJSON === void 0 ? {} : { llmJSON: job.llmJSON },
1717
+ ...providers.embedding === void 0 ? {} : { skipEmbeddingConfig: true },
1718
+ ...job.llmJSON === void 0 && providers.llm !== void 0 ? { skipLLMConfig: true } : {}
1701
1719
  });
1702
1720
  const execution = await openJobExecutor(
1703
1721
  job,
@@ -1832,12 +1850,17 @@ async function openJobExecutor(job, config, signal, reporter) {
1832
1850
  const stageConfig = generation ? await loadRequiredStageConfig({
1833
1851
  ...job.llmJSON === void 0 ? {} : { llmJSON: job.llmJSON }
1834
1852
  }) : void 0;
1853
+ const injectedLLM = job.llmJSON === void 0 ? getWikiGraphSDKProviders().llm : void 0;
1835
1854
  const llm = stageConfig === void 0 ? void 0 : createStageLLM(stageConfig, {
1836
1855
  cacheDirectory: job.cache,
1837
1856
  logDirectory: job.log,
1838
1857
  onTokenUsage: async (usage) => {
1839
1858
  await reporter.addTokenUsage(usage);
1840
- }
1859
+ },
1860
+ onStreamProgress: async ({ outputCharacters }) => {
1861
+ await reporter.addOutputCharacters(outputCharacters);
1862
+ },
1863
+ ...injectedLLM === void 0 ? {} : { provider: injectedLLM }
1841
1864
  });
1842
1865
  const promptSource = job.prompt ?? stageConfig?.prompt;
1843
1866
  const wikispine = job.target === "knowledge-graph" ? requireKnowledgeGraphWikispineConfig(config) : void 0;
@@ -1858,7 +1881,7 @@ async function openJobExecutor(job, config, signal, reporter) {
1858
1881
  "Local Wikimedia resolution requires an LLM."
1859
1882
  ),
1860
1883
  llmModelId: requireValue(
1861
- stageConfig?.llm?.model,
1884
+ stageConfig?.llm?.model ?? injectedLLM?.model,
1862
1885
  "Local Wikimedia resolution requires an LLM model."
1863
1886
  )
1864
1887
  } : {
@@ -1867,7 +1890,7 @@ async function openJobExecutor(job, config, signal, reporter) {
1867
1890
  token: config.wikimedia.token
1868
1891
  }
1869
1892
  );
1870
- const embeddingProvider = job.target === "index-embedding-source" || job.target === "index-embedding-summary" ? buildSearchIndexEmbeddingProvider(requireEmbeddingConfig(config)) : void 0;
1893
+ const embeddingProvider = job.target === "index-embedding-source" || job.target === "index-embedding-summary" ? getWikiGraphSDKProviders().embedding ?? buildSearchIndexEmbeddingProvider(requireEmbeddingConfig(config)) : void 0;
1871
1894
  return {
1872
1895
  async close() {
1873
1896
  await wikimediaResolver?.close();