@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
@@ -2,8 +2,8 @@ import { M as ModelResolutionOptions } from '../provider-factory-Bv-eIkhg.cjs';
2
2
  export { A as AIProviderName, N as NVIDIA_MODELS, g as getAIModel } from '../provider-factory-Bv-eIkhg.cjs';
3
3
  import { MilestoneInput, LessonPlan, ActivityLab, ProjectGraph, CodeLab, Worksheet, Handout, SlideDeck, TeacherGuide, Extension, CurriculumQualityReport, ProjectInstruction, SelfLab, DiagnosticQuiz } from '../schemas/index.cjs';
4
4
  import * as ai from 'ai';
5
- import { C as ChatMessage, S as StreamRunnerOptions, c as ChunkType } from '../streamRunner-kpS4MZP1.cjs';
6
- export { D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as resolveApiKey, k as runCurriculumAIInference, s as streamCurriculumAIInference } from '../streamRunner-kpS4MZP1.cjs';
5
+ import { C as ChatMessage, S as StreamRunnerOptions, c as ChunkType } from '../streamRunner-DYHFhNUr.cjs';
6
+ export { D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as resolveApiKey, k as runCurriculumAIInference, s as streamCurriculumAIInference } from '../streamRunner-DYHFhNUr.cjs';
7
7
  import { z } from 'zod';
8
8
 
9
9
  interface LessonPromptInput {
@@ -2,8 +2,8 @@ import { M as ModelResolutionOptions } from '../provider-factory-Bv-eIkhg.js';
2
2
  export { A as AIProviderName, N as NVIDIA_MODELS, g as getAIModel } from '../provider-factory-Bv-eIkhg.js';
3
3
  import { MilestoneInput, LessonPlan, ActivityLab, ProjectGraph, CodeLab, Worksheet, Handout, SlideDeck, TeacherGuide, Extension, CurriculumQualityReport, ProjectInstruction, SelfLab, DiagnosticQuiz } from '../schemas/index.js';
4
4
  import * as ai from 'ai';
5
- import { C as ChatMessage, S as StreamRunnerOptions, c as ChunkType } from '../streamRunner-kpS4MZP1.js';
6
- export { D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as resolveApiKey, k as runCurriculumAIInference, s as streamCurriculumAIInference } from '../streamRunner-kpS4MZP1.js';
5
+ import { C as ChatMessage, S as StreamRunnerOptions, c as ChunkType } from '../streamRunner-DYHFhNUr.js';
6
+ export { D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as resolveApiKey, k as runCurriculumAIInference, s as streamCurriculumAIInference } from '../streamRunner-DYHFhNUr.js';
7
7
  import { z } from 'zod';
8
8
 
9
9
  interface LessonPromptInput {
package/dist/ai/index.mjs CHANGED
@@ -480,7 +480,12 @@ Guidelines:
480
480
  const unique9RouterModels = Array.from(new Set(candidateModels));
481
481
  for (const model of unique9RouterModels) {
482
482
  try {
483
- const idle = createStreamAbortController({ idleMs: 45e3, totalMs: 3e5 });
483
+ const r9Idle = options.idleTimeoutMs ?? (Number(process.env.ARTIFACT_STREAM_IDLE_TIMEOUT_MS || process.env.STREAM_IDLE_TIMEOUT_MS) || 0) ?? 0;
484
+ const r9Total = options.timeoutMs ?? (Number(process.env.ARTIFACT_STREAM_TOTAL_TIMEOUT_MS || process.env.STREAM_TOTAL_TIMEOUT_MS) || 0) ?? 0;
485
+ const idle = createStreamAbortController({
486
+ idleMs: r9Idle > 0 ? r9Idle : 9e4,
487
+ totalMs: r9Total > 0 ? r9Total : 3e5
488
+ });
484
489
  const res = await fetch(`${ninerouterBaseUrl}/chat/completions`, {
485
490
  method: "POST",
486
491
  headers: {
@@ -719,7 +724,46 @@ Guidelines:
719
724
  );
720
725
  for (const target of fallbackChain) {
721
726
  const { provider, model } = target;
722
- if (provider === "nvidia" && nvidiaKey && isProviderEnabled("nvidia")) {
727
+ if ((provider === "9router" || provider === "ninerouter") && ninerouterKey && isProviderEnabled("9router")) {
728
+ try {
729
+ const rawUrl = resolveApiKey("NINEROUTER_BASE_URL") || resolveApiKey("NINE_ROUTER_BASE_URL") || "https://ai-router.orchable.app/v1";
730
+ const fbBaseUrl = rawUrl.replace(/["']/g, "").replace(/\/$/, "");
731
+ const fbIdle = options.idleTimeoutMs ?? (Number(process.env.ARTIFACT_STREAM_IDLE_TIMEOUT_MS || process.env.STREAM_IDLE_TIMEOUT_MS) || 0) ?? 0;
732
+ const fbTotal = options.timeoutMs ?? (Number(process.env.ARTIFACT_STREAM_TOTAL_TIMEOUT_MS || process.env.STREAM_TOTAL_TIMEOUT_MS) || 0) ?? 0;
733
+ const idle = createStreamAbortController({
734
+ idleMs: fbIdle > 0 ? fbIdle : 9e4,
735
+ totalMs: fbTotal > 0 ? fbTotal : 3e5
736
+ });
737
+ const res = await fetch(`${fbBaseUrl}/chat/completions`, {
738
+ method: "POST",
739
+ headers: {
740
+ "Authorization": `Bearer ${ninerouterKey}`,
741
+ "Content-Type": "application/json"
742
+ },
743
+ body: JSON.stringify({
744
+ model,
745
+ messages: formattedMessages,
746
+ max_tokens: maxTokens,
747
+ temperature,
748
+ stream: true,
749
+ stream_options: { include_usage: true }
750
+ }),
751
+ signal: idle.signal
752
+ });
753
+ if (res.ok) {
754
+ const text = await processOpenAISSEStream(res, onChunk, idle);
755
+ if (text && text.trim()) {
756
+ console.log(`[streamRunner] \u2705 Designated fallback 9Router (${model}) succeeded!`);
757
+ return text;
758
+ }
759
+ } else {
760
+ const errText = await res.text().catch(() => "");
761
+ providerErrors[`designated_fallback_9router_${model}`] = `HTTP ${res.status}: ${errText.slice(0, 120)}`;
762
+ }
763
+ } catch (e) {
764
+ providerErrors[`designated_fallback_9router_${model}`] = e?.message || "Network error";
765
+ }
766
+ } else if (provider === "nvidia" && nvidiaKey && isProviderEnabled("nvidia")) {
723
767
  try {
724
768
  const nvdIdle = options.idleTimeoutMs ?? 18e4;
725
769
  const nvdTotal = options.timeoutMs ?? 6e5;