@thanh01.pmt/curriculum-kit 1.0.8 → 1.0.10

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 (42) hide show
  1. package/dist/ai/index.cjs +36 -10
  2. package/dist/ai/index.cjs.map +1 -1
  3. package/dist/ai/index.d.cts +5 -5
  4. package/dist/ai/index.d.ts +5 -5
  5. package/dist/ai/index.mjs +36 -10
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/{index-BfDHBO7f.d.ts → index-B8lOdFuz.d.ts} +1 -1
  8. package/dist/{index-BEicVaQ9.d.cts → index-DhxvfPoW.d.cts} +1 -1
  9. package/dist/index.cjs +43 -16
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +6 -6
  12. package/dist/index.d.ts +6 -6
  13. package/dist/index.mjs +43 -16
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/media/index.cjs +30 -4
  16. package/dist/media/index.cjs.map +1 -1
  17. package/dist/media/index.d.cts +1 -1
  18. package/dist/media/index.d.ts +1 -1
  19. package/dist/media/index.mjs +30 -4
  20. package/dist/media/index.mjs.map +1 -1
  21. package/dist/{milestoneBundleGenerator-CbXhs1CP.d.ts → milestoneBundleGenerator-Bkba8OPG.d.ts} +1 -1
  22. package/dist/{milestoneBundleGenerator-DrBtHzBO.d.cts → milestoneBundleGenerator-CzSOeAzU.d.cts} +1 -1
  23. package/dist/pipeline/index.cjs +5 -5
  24. package/dist/pipeline/index.cjs.map +1 -1
  25. package/dist/pipeline/index.d.cts +3 -3
  26. package/dist/pipeline/index.d.ts +3 -3
  27. package/dist/pipeline/index.mjs +5 -5
  28. package/dist/pipeline/index.mjs.map +1 -1
  29. package/dist/{provider-factory-DH3udYlN.d.ts → provider-factory-DxzOVEmh.d.cts} +1 -1
  30. package/dist/{provider-factory-DH3udYlN.d.cts → provider-factory-DxzOVEmh.d.ts} +1 -1
  31. package/dist/storage/index.d.cts +2 -2
  32. package/dist/storage/index.d.ts +2 -2
  33. package/dist/{streamRunner-C7j5LKon.d.cts → streamRunner-CcpmxOf1.d.cts} +20 -1
  34. package/dist/{streamRunner-C7j5LKon.d.ts → streamRunner-CcpmxOf1.d.ts} +20 -1
  35. package/dist/workflow/index.cjs +33 -7
  36. package/dist/workflow/index.cjs.map +1 -1
  37. package/dist/workflow/index.d.cts +2 -2
  38. package/dist/workflow/index.d.ts +2 -2
  39. package/dist/workflow/index.mjs +33 -7
  40. package/dist/workflow/index.mjs.map +1 -1
  41. package/package.json +22 -21
  42. package/LICENSE +0 -21
@@ -1,7 +1,7 @@
1
- export { I as ApprovalPayload, y as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, M as ExecuteWithRateLimitOptions, z as GateSettings, G as GenerateMasterLessonStepInput, T as GenerateRoadmapWorkflowInput, J as JudgeMasterLessonStepInput, q as JudgeSatelliteStepInput, O as MilestoneWorkflowInput, P as MilestoneWorkflowResult, e as RepairMasterLessonStepInput, R as ResolvedGateSettings, U as RoadmapWorkflowSummary, t as SaveMilestoneArtifactsInput, u as SavedMilestoneResult, L as approvalHookToken, H as approvalPayloadSchema, W as executeSingleArtifactStep, F as gateModeFor, f as generateActivityStep, h as generateCodeLabStep, k as generateDiagnosticQuizStep, p as generateExtensionStep, m as generateHandoutStep, d as generateMasterLessonStep, Q as generateMilestoneWorkflow, V as generateRoadmapWorkflow, i as generateSelfLabStep, X as generateSingleArtifactWorkflow, l as generateSlidesStep, o as generateTeacherGuideStep, n as generateWorksheetStep, j as judgeMasterLessonStep, s as judgeSatelliteStep, K as lessonApprovalHook, B as parseGateSettings, w as publishToGitStep, x as publishToSupabaseStep, r as repairMasterLessonStep, E as resolveGateSettings, v as saveMilestoneToWorkspaceStep, N as withRateLimitBackoff } from '../index-BEicVaQ9.cjs';
1
+ export { I as ApprovalPayload, y as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, M as ExecuteWithRateLimitOptions, z as GateSettings, G as GenerateMasterLessonStepInput, T as GenerateRoadmapWorkflowInput, J as JudgeMasterLessonStepInput, q as JudgeSatelliteStepInput, O as MilestoneWorkflowInput, P as MilestoneWorkflowResult, e as RepairMasterLessonStepInput, R as ResolvedGateSettings, U as RoadmapWorkflowSummary, t as SaveMilestoneArtifactsInput, u as SavedMilestoneResult, L as approvalHookToken, H as approvalPayloadSchema, W as executeSingleArtifactStep, F as gateModeFor, f as generateActivityStep, h as generateCodeLabStep, k as generateDiagnosticQuizStep, p as generateExtensionStep, m as generateHandoutStep, d as generateMasterLessonStep, Q as generateMilestoneWorkflow, V as generateRoadmapWorkflow, i as generateSelfLabStep, X as generateSingleArtifactWorkflow, l as generateSlidesStep, o as generateTeacherGuideStep, n as generateWorksheetStep, j as judgeMasterLessonStep, s as judgeSatelliteStep, K as lessonApprovalHook, B as parseGateSettings, w as publishToGitStep, x as publishToSupabaseStep, r as repairMasterLessonStep, E as resolveGateSettings, v as saveMilestoneToWorkspaceStep, N as withRateLimitBackoff } from '../index-DhxvfPoW.cjs';
2
2
  import '../schemas/index.cjs';
3
3
  import 'zod';
4
- import '../provider-factory-DH3udYlN.cjs';
4
+ import '../provider-factory-DxzOVEmh.cjs';
5
5
  import 'ai';
6
6
  import '../supabasePublisher-C627qXFT.cjs';
7
7
  import 'workflow';
@@ -1,7 +1,7 @@
1
- export { I as ApprovalPayload, y as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, M as ExecuteWithRateLimitOptions, z as GateSettings, G as GenerateMasterLessonStepInput, T as GenerateRoadmapWorkflowInput, J as JudgeMasterLessonStepInput, q as JudgeSatelliteStepInput, O as MilestoneWorkflowInput, P as MilestoneWorkflowResult, e as RepairMasterLessonStepInput, R as ResolvedGateSettings, U as RoadmapWorkflowSummary, t as SaveMilestoneArtifactsInput, u as SavedMilestoneResult, L as approvalHookToken, H as approvalPayloadSchema, W as executeSingleArtifactStep, F as gateModeFor, f as generateActivityStep, h as generateCodeLabStep, k as generateDiagnosticQuizStep, p as generateExtensionStep, m as generateHandoutStep, d as generateMasterLessonStep, Q as generateMilestoneWorkflow, V as generateRoadmapWorkflow, i as generateSelfLabStep, X as generateSingleArtifactWorkflow, l as generateSlidesStep, o as generateTeacherGuideStep, n as generateWorksheetStep, j as judgeMasterLessonStep, s as judgeSatelliteStep, K as lessonApprovalHook, B as parseGateSettings, w as publishToGitStep, x as publishToSupabaseStep, r as repairMasterLessonStep, E as resolveGateSettings, v as saveMilestoneToWorkspaceStep, N as withRateLimitBackoff } from '../index-BfDHBO7f.js';
1
+ export { I as ApprovalPayload, y as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, M as ExecuteWithRateLimitOptions, z as GateSettings, G as GenerateMasterLessonStepInput, T as GenerateRoadmapWorkflowInput, J as JudgeMasterLessonStepInput, q as JudgeSatelliteStepInput, O as MilestoneWorkflowInput, P as MilestoneWorkflowResult, e as RepairMasterLessonStepInput, R as ResolvedGateSettings, U as RoadmapWorkflowSummary, t as SaveMilestoneArtifactsInput, u as SavedMilestoneResult, L as approvalHookToken, H as approvalPayloadSchema, W as executeSingleArtifactStep, F as gateModeFor, f as generateActivityStep, h as generateCodeLabStep, k as generateDiagnosticQuizStep, p as generateExtensionStep, m as generateHandoutStep, d as generateMasterLessonStep, Q as generateMilestoneWorkflow, V as generateRoadmapWorkflow, i as generateSelfLabStep, X as generateSingleArtifactWorkflow, l as generateSlidesStep, o as generateTeacherGuideStep, n as generateWorksheetStep, j as judgeMasterLessonStep, s as judgeSatelliteStep, K as lessonApprovalHook, B as parseGateSettings, w as publishToGitStep, x as publishToSupabaseStep, r as repairMasterLessonStep, E as resolveGateSettings, v as saveMilestoneToWorkspaceStep, N as withRateLimitBackoff } from '../index-B8lOdFuz.js';
2
2
  import '../schemas/index.js';
3
3
  import 'zod';
4
- import '../provider-factory-DH3udYlN.js';
4
+ import '../provider-factory-DxzOVEmh.js';
5
5
  import 'ai';
6
6
  import '../supabasePublisher-C627qXFT.js';
7
7
  import 'workflow';
@@ -182,7 +182,7 @@ function isModelAllowed(model) {
182
182
  }
183
183
  function getDesignatedFallbackChain() {
184
184
  const rawProviders = resolveApiKey("FALLBACK_AI_PROVIDER") || resolveApiKey("FALLBACK_AI_PROVIDERS") || resolveApiKey("DEFAULT_AI_PROVIDER") || "nvidia,openrouter";
185
- const rawModels = resolveApiKey("FALLBACK_AI_MODEL") || resolveApiKey("FALLBACK_AI_MODELS") || resolveApiKey("DEFAULT_AI_MODEL") || "nvidia/nemotron-3-ultra-550b-a55b,@preset/coding-free,deepseek/deepseek-chat:free";
185
+ const rawModels = resolveApiKey("FALLBACK_AI_MODEL") || resolveApiKey("FALLBACK_AI_MODELS") || resolveApiKey("DEFAULT_AI_MODEL") || "nvidia/nemotron-3-ultra-550b-a55b:free,@preset/coding-free,deepseek/deepseek-chat:free";
186
186
  const providerList = rawProviders.split(",").map((p) => p.trim().toLowerCase()).filter((p) => p.length > 0 && isProviderEnabled(p));
187
187
  const modelList = rawModels.split(",").map((m) => m.trim()).filter((m) => m.length > 0 && isModelAllowed(m));
188
188
  const chain = [];
@@ -191,7 +191,7 @@ function getDesignatedFallbackChain() {
191
191
  if (provider === "nvidia") {
192
192
  providerModels = modelList.filter((m) => m.startsWith("nvidia/") || m.startsWith("meta/") || m.startsWith("mistralai/"));
193
193
  if (providerModels.length === 0) {
194
- providerModels = ["nvidia/nemotron-3-ultra-550b-a55b", "nvidia/nemotron-3.5-lightning-30b-a3b"];
194
+ providerModels = ["nvidia/nemotron-3-ultra-550b-a55b:free", "nvidia/nemotron-3.5-lightning-30b-a3b"];
195
195
  }
196
196
  } else if (provider === "openrouter") {
197
197
  providerModels = modelList.filter((m) => m.startsWith("@") || m.includes("/") || m.includes(":"));
@@ -227,7 +227,7 @@ function getDesignatedFallbackChain() {
227
227
  function getDesignatedFallbackConfig() {
228
228
  const chain = getDesignatedFallbackChain();
229
229
  if (chain.length > 0) return chain[0];
230
- return { provider: "nvidia", model: "nvidia/nemotron-3-ultra-550b-a55b" };
230
+ return { provider: "nvidia", model: "nvidia/nemotron-3-ultra-550b-a55b:free" };
231
231
  }
232
232
  function extractThoughtAndContent(rawText) {
233
233
  let text = rawText || "";
@@ -420,6 +420,32 @@ Guidelines:
420
420
  3. Keep technical terminology and official API symbols intact.
421
421
  4. Format output using clean Markdown, clear sections, bullet points, and code blocks where required.
422
422
  5. Do NOT use emojis in headings, tab titles, or UI navigation labels.`;
423
+ if (options.customInference) {
424
+ try {
425
+ const text = await options.customInference({
426
+ systemInstruction,
427
+ userPrompt: messages.map((m) => m.content).join("\n\n"),
428
+ messages,
429
+ temperature,
430
+ maxTokens,
431
+ onChunk: onChunk ?? (() => {
432
+ })
433
+ });
434
+ if (text && text.trim()) return text;
435
+ throw createAiInferenceError({
436
+ errorCode: "ERR_AI_ALL_PROVIDERS_FAILED",
437
+ message: "customInference returned empty output",
438
+ rawError: { customInference: "empty response" }
439
+ });
440
+ } catch (e) {
441
+ if (e?.errorCode || e?.name === "AiInferenceError") throw e;
442
+ throw createAiInferenceError({
443
+ errorCode: "ERR_AI_ALL_PROVIDERS_FAILED",
444
+ message: `customInference failed: ${e?.message || e}`,
445
+ rawError: { customInference: String(e?.message || e) }
446
+ });
447
+ }
448
+ }
423
449
  const formattedMessages = [
424
450
  { role: "system", content: systemInstruction },
425
451
  ...messages.map((m) => ({
@@ -432,8 +458,8 @@ Guidelines:
432
458
  const isNvidiaPreferred = requestedModel.startsWith("nvidia/") || Boolean(nvidiaKey && !openrouterKey) && isProviderEnabled("nvidia");
433
459
  if (nvidiaKey && isProviderEnabled("nvidia")) {
434
460
  const candidateNemotronModels = [
435
- requestedModel.startsWith("nvidia/") ? requestedModel : "nvidia/nemotron-3-ultra-550b-a55b",
436
- "nvidia/nemotron-3-ultra-550b-a55b",
461
+ requestedModel.startsWith("nvidia/") ? requestedModel : "nvidia/nemotron-3-ultra-550b-a55b:free",
462
+ "nvidia/nemotron-3-ultra-550b-a55b:free",
437
463
  "nvidia/nemotron-3.5-lightning-30b-a3b",
438
464
  "nvidia/nemotron-3-super-120b-a12b",
439
465
  "nvidia/llama-3.1-nemotron-70b-instruct"
@@ -795,7 +821,7 @@ var init_streamRunner = __esm({
795
821
  // src/ai/provider-factory.ts
796
822
  init_streamRunner();
797
823
  var DEFAULT_MODELS = {
798
- nvidia: "nvidia/nemotron-3-ultra-550b-a55b",
824
+ nvidia: "nvidia/nemotron-3-ultra-550b-a55b:free",
799
825
  openrouter: "@preset/coding-free",
800
826
  alibaba: "qwen3.7-plus",
801
827
  dashscope: "qwen3.7-plus",
@@ -823,7 +849,7 @@ function getAIModel(options = {}) {
823
849
  apiKey,
824
850
  baseURL: options.baseURL || "https://integrate.api.nvidia.com/v1"
825
851
  });
826
- return nvidia.chat(resolvedModelName || "nvidia/nemotron-3-ultra-550b-a55b");
852
+ return nvidia.chat(resolvedModelName || "nvidia/nemotron-3-ultra-550b-a55b:free");
827
853
  }
828
854
  if (provider === "openrouter") {
829
855
  const apiKey = options.apiKey || process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY || "";