@thanh01.pmt/curriculum-kit 1.4.27 → 1.4.29

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 (40) hide show
  1. package/dist/ai/index.cjs +46 -2
  2. package/dist/ai/index.cjs.map +1 -1
  3. package/dist/ai/index.d.cts +2 -2
  4. package/dist/ai/index.d.ts +2 -2
  5. package/dist/ai/index.mjs +46 -2
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/index.cjs +76 -3
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +4 -4
  10. package/dist/index.d.ts +4 -4
  11. package/dist/index.mjs +76 -3
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/media/index.cjs +46 -2
  14. package/dist/media/index.cjs.map +1 -1
  15. package/dist/media/index.d.cts +1 -1
  16. package/dist/media/index.d.ts +1 -1
  17. package/dist/media/index.mjs +46 -2
  18. package/dist/media/index.mjs.map +1 -1
  19. package/dist/pipeline/index.cjs.map +1 -1
  20. package/dist/pipeline/index.d.cts +1 -1
  21. package/dist/pipeline/index.d.ts +1 -1
  22. package/dist/pipeline/index.mjs.map +1 -1
  23. package/dist/publishers/index.d.cts +1 -1
  24. package/dist/publishers/index.d.ts +1 -1
  25. package/dist/storage/index.cjs +27 -0
  26. package/dist/storage/index.cjs.map +1 -1
  27. package/dist/storage/index.d.cts +11 -2
  28. package/dist/storage/index.d.ts +11 -2
  29. package/dist/storage/index.mjs +27 -0
  30. package/dist/storage/index.mjs.map +1 -1
  31. package/dist/{streamRunner-kpS4MZP1.d.cts → streamRunner-DYHFhNUr.d.cts} +1 -1
  32. package/dist/{streamRunner-kpS4MZP1.d.ts → streamRunner-DYHFhNUr.d.ts} +1 -1
  33. package/dist/{types-BUJGYiep.d.ts → types-Bgk-C4K2.d.cts} +11 -0
  34. package/dist/{types-BUJGYiep.d.cts → types-Bgk-C4K2.d.ts} +11 -0
  35. package/dist/workflow/index.cjs +48 -3
  36. package/dist/workflow/index.cjs.map +1 -1
  37. package/dist/workflow/index.mjs +48 -3
  38. package/dist/workflow/index.mjs.map +1 -1
  39. package/package.json +23 -22
  40. package/LICENSE +0 -21
@@ -731,7 +731,12 @@ Guidelines:
731
731
  const unique9RouterModels = Array.from(new Set(candidateModels));
732
732
  for (const model of unique9RouterModels) {
733
733
  try {
734
- const idle = createStreamAbortController({ idleMs: 45e3, totalMs: 3e5 });
734
+ const r9Idle = options.idleTimeoutMs ?? (Number(process.env.ARTIFACT_STREAM_IDLE_TIMEOUT_MS || process.env.STREAM_IDLE_TIMEOUT_MS) || 0) ?? 0;
735
+ const r9Total = options.timeoutMs ?? (Number(process.env.ARTIFACT_STREAM_TOTAL_TIMEOUT_MS || process.env.STREAM_TOTAL_TIMEOUT_MS) || 0) ?? 0;
736
+ const idle = createStreamAbortController({
737
+ idleMs: r9Idle > 0 ? r9Idle : 9e4,
738
+ totalMs: r9Total > 0 ? r9Total : 3e5
739
+ });
735
740
  const res = await fetch(`${ninerouterBaseUrl}/chat/completions`, {
736
741
  method: "POST",
737
742
  headers: {
@@ -970,7 +975,46 @@ Guidelines:
970
975
  );
971
976
  for (const target of fallbackChain) {
972
977
  const { provider, model } = target;
973
- if (provider === "nvidia" && nvidiaKey && isProviderEnabled("nvidia")) {
978
+ if ((provider === "9router" || provider === "ninerouter") && ninerouterKey && isProviderEnabled("9router")) {
979
+ try {
980
+ const rawUrl = resolveApiKey2("NINEROUTER_BASE_URL") || resolveApiKey2("NINE_ROUTER_BASE_URL") || "https://ai-router.orchable.app/v1";
981
+ const fbBaseUrl = rawUrl.replace(/["']/g, "").replace(/\/$/, "");
982
+ const fbIdle = options.idleTimeoutMs ?? (Number(process.env.ARTIFACT_STREAM_IDLE_TIMEOUT_MS || process.env.STREAM_IDLE_TIMEOUT_MS) || 0) ?? 0;
983
+ const fbTotal = options.timeoutMs ?? (Number(process.env.ARTIFACT_STREAM_TOTAL_TIMEOUT_MS || process.env.STREAM_TOTAL_TIMEOUT_MS) || 0) ?? 0;
984
+ const idle = createStreamAbortController({
985
+ idleMs: fbIdle > 0 ? fbIdle : 9e4,
986
+ totalMs: fbTotal > 0 ? fbTotal : 3e5
987
+ });
988
+ const res = await fetch(`${fbBaseUrl}/chat/completions`, {
989
+ method: "POST",
990
+ headers: {
991
+ "Authorization": `Bearer ${ninerouterKey}`,
992
+ "Content-Type": "application/json"
993
+ },
994
+ body: JSON.stringify({
995
+ model,
996
+ messages: formattedMessages,
997
+ max_tokens: maxTokens,
998
+ temperature,
999
+ stream: true,
1000
+ stream_options: { include_usage: true }
1001
+ }),
1002
+ signal: idle.signal
1003
+ });
1004
+ if (res.ok) {
1005
+ const text = await processOpenAISSEStream(res, onChunk, idle);
1006
+ if (text && text.trim()) {
1007
+ console.log(`[streamRunner] \u2705 Designated fallback 9Router (${model}) succeeded!`);
1008
+ return text;
1009
+ }
1010
+ } else {
1011
+ const errText = await res.text().catch(() => "");
1012
+ providerErrors[`designated_fallback_9router_${model}`] = `HTTP ${res.status}: ${errText.slice(0, 120)}`;
1013
+ }
1014
+ } catch (e) {
1015
+ providerErrors[`designated_fallback_9router_${model}`] = e?.message || "Network error";
1016
+ }
1017
+ } else if (provider === "nvidia" && nvidiaKey && isProviderEnabled("nvidia")) {
974
1018
  try {
975
1019
  const nvdIdle = options.idleTimeoutMs ?? 18e4;
976
1020
  const nvdTotal = options.timeoutMs ?? 6e5;