@actalk/inkos-core 1.2.0 → 1.3.0-canary.26.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 (115) hide show
  1. package/dist/agent/agent-session.d.ts +48 -0
  2. package/dist/agent/agent-session.d.ts.map +1 -0
  3. package/dist/agent/agent-session.js +229 -0
  4. package/dist/agent/agent-session.js.map +1 -0
  5. package/dist/agent/agent-system-prompt.d.ts +2 -0
  6. package/dist/agent/agent-system-prompt.d.ts.map +1 -0
  7. package/dist/agent/agent-system-prompt.js +97 -0
  8. package/dist/agent/agent-system-prompt.js.map +1 -0
  9. package/dist/agent/agent-tools.d.ts +30 -0
  10. package/dist/agent/agent-tools.d.ts.map +1 -0
  11. package/dist/agent/agent-tools.js +280 -0
  12. package/dist/agent/agent-tools.js.map +1 -0
  13. package/dist/agent/index.d.ts +4 -0
  14. package/dist/agent/index.d.ts.map +1 -0
  15. package/dist/agent/index.js +4 -0
  16. package/dist/agent/index.js.map +1 -0
  17. package/dist/agents/architect.js +5 -5
  18. package/dist/agents/architect.js.map +1 -1
  19. package/dist/agents/chapter-analyzer.d.ts.map +1 -1
  20. package/dist/agents/chapter-analyzer.js +32 -4
  21. package/dist/agents/chapter-analyzer.js.map +1 -1
  22. package/dist/agents/consolidator.js +1 -1
  23. package/dist/agents/consolidator.js.map +1 -1
  24. package/dist/agents/continuity.js +1 -1
  25. package/dist/agents/continuity.js.map +1 -1
  26. package/dist/agents/fanfic-canon-importer.js +1 -1
  27. package/dist/agents/fanfic-canon-importer.js.map +1 -1
  28. package/dist/agents/foundation-reviewer.js +1 -1
  29. package/dist/agents/foundation-reviewer.js.map +1 -1
  30. package/dist/agents/radar.js +1 -1
  31. package/dist/agents/radar.js.map +1 -1
  32. package/dist/agents/settler-delta-parser.d.ts.map +1 -1
  33. package/dist/agents/settler-delta-parser.js +6 -1
  34. package/dist/agents/settler-delta-parser.js.map +1 -1
  35. package/dist/agents/state-validator.js +21 -3
  36. package/dist/agents/state-validator.js.map +1 -1
  37. package/dist/agents/writer-prompts.js +13 -13
  38. package/dist/agents/writer-prompts.js.map +1 -1
  39. package/dist/agents/writer.js +1 -1
  40. package/dist/agents/writer.js.map +1 -1
  41. package/dist/index.d.ts +9 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +10 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/interaction/book-session-store.d.ts +6 -0
  46. package/dist/interaction/book-session-store.d.ts.map +1 -0
  47. package/dist/interaction/book-session-store.js +59 -0
  48. package/dist/interaction/book-session-store.js.map +1 -0
  49. package/dist/interaction/draft-directive-parser.d.ts +38 -0
  50. package/dist/interaction/draft-directive-parser.d.ts.map +1 -0
  51. package/dist/interaction/draft-directive-parser.js +208 -0
  52. package/dist/interaction/draft-directive-parser.js.map +1 -0
  53. package/dist/interaction/nl-router.d.ts +1 -0
  54. package/dist/interaction/nl-router.d.ts.map +1 -1
  55. package/dist/interaction/nl-router.js +1 -1
  56. package/dist/interaction/nl-router.js.map +1 -1
  57. package/dist/interaction/project-session-store.d.ts +3 -1
  58. package/dist/interaction/project-session-store.d.ts.map +1 -1
  59. package/dist/interaction/project-session-store.js +19 -1
  60. package/dist/interaction/project-session-store.js.map +1 -1
  61. package/dist/interaction/project-tools.d.ts +2 -0
  62. package/dist/interaction/project-tools.d.ts.map +1 -1
  63. package/dist/interaction/project-tools.js +186 -126
  64. package/dist/interaction/project-tools.js.map +1 -1
  65. package/dist/interaction/runtime.d.ts.map +1 -1
  66. package/dist/interaction/runtime.js +14 -1
  67. package/dist/interaction/runtime.js.map +1 -1
  68. package/dist/interaction/session.d.ts +725 -6
  69. package/dist/interaction/session.d.ts.map +1 -1
  70. package/dist/interaction/session.js +65 -0
  71. package/dist/interaction/session.js.map +1 -1
  72. package/dist/llm/config-migration.d.ts +5 -0
  73. package/dist/llm/config-migration.d.ts.map +1 -0
  74. package/dist/llm/config-migration.js +51 -0
  75. package/dist/llm/config-migration.js.map +1 -0
  76. package/dist/llm/provider.d.ts +4 -4
  77. package/dist/llm/provider.d.ts.map +1 -1
  78. package/dist/llm/provider.js +472 -540
  79. package/dist/llm/provider.js.map +1 -1
  80. package/dist/llm/secrets.d.ts +9 -0
  81. package/dist/llm/secrets.d.ts.map +1 -0
  82. package/dist/llm/secrets.js +31 -0
  83. package/dist/llm/secrets.js.map +1 -0
  84. package/dist/llm/service-presets.d.ts +37 -0
  85. package/dist/llm/service-presets.d.ts.map +1 -0
  86. package/dist/llm/service-presets.js +123 -0
  87. package/dist/llm/service-presets.js.map +1 -0
  88. package/dist/llm/service-resolver.d.ts +10 -0
  89. package/dist/llm/service-resolver.d.ts.map +1 -0
  90. package/dist/llm/service-resolver.js +46 -0
  91. package/dist/llm/service-resolver.js.map +1 -0
  92. package/dist/models/project.d.ts +158 -30
  93. package/dist/models/project.d.ts.map +1 -1
  94. package/dist/models/project.js +13 -0
  95. package/dist/models/project.js.map +1 -1
  96. package/dist/pipeline/chapter-persistence.d.ts.map +1 -1
  97. package/dist/pipeline/chapter-persistence.js +5 -1
  98. package/dist/pipeline/chapter-persistence.js.map +1 -1
  99. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
  100. package/dist/pipeline/chapter-truth-validation.js +27 -1
  101. package/dist/pipeline/chapter-truth-validation.js.map +1 -1
  102. package/dist/pipeline/runner.d.ts.map +1 -1
  103. package/dist/pipeline/runner.js +9 -3
  104. package/dist/pipeline/runner.js.map +1 -1
  105. package/dist/state/manager.d.ts +2 -0
  106. package/dist/state/manager.d.ts.map +1 -1
  107. package/dist/state/manager.js +10 -3
  108. package/dist/state/manager.js.map +1 -1
  109. package/dist/state/state-validator.d.ts.map +1 -1
  110. package/dist/state/state-validator.js +44 -33
  111. package/dist/state/state-validator.js.map +1 -1
  112. package/dist/utils/config-loader.d.ts.map +1 -1
  113. package/dist/utils/config-loader.js +149 -32
  114. package/dist/utils/config-loader.js.map +1 -1
  115. package/package.json +4 -3
@@ -1,44 +1,55 @@
1
1
  import { ChapterSummariesStateSchema, CurrentStateStateSchema, HooksStateSchema, StateManifestSchema, } from "../models/runtime-state.js";
2
2
  export function validateRuntimeState(input) {
3
- const issues = [];
4
- const manifest = parseOrIssue(StateManifestSchema, input.manifest, issues, "invalid_manifest", "manifest");
5
- const currentState = parseOrIssue(CurrentStateStateSchema, input.currentState, issues, "invalid_current_state", "currentState");
6
- const hooks = parseOrIssue(HooksStateSchema, input.hooks, issues, "invalid_hooks_state", "hooks");
7
- const chapterSummaries = parseOrIssue(ChapterSummariesStateSchema, input.chapterSummaries, issues, "invalid_chapter_summaries_state", "chapterSummaries");
8
- if (hooks) {
9
- const seen = new Set();
10
- for (const hook of hooks.hooks) {
11
- if (seen.has(hook.hookId)) {
12
- issues.push({
13
- code: "duplicate_hook_id",
14
- message: `duplicate hook id: ${hook.hookId}`,
15
- path: `hooks.${hook.hookId}`,
16
- });
3
+ try {
4
+ const issues = [];
5
+ const manifest = parseOrIssue(StateManifestSchema, input.manifest, issues, "invalid_manifest", "manifest");
6
+ const currentState = parseOrIssue(CurrentStateStateSchema, input.currentState, issues, "invalid_current_state", "currentState");
7
+ const hooks = parseOrIssue(HooksStateSchema, input.hooks, issues, "invalid_hooks_state", "hooks");
8
+ const chapterSummaries = parseOrIssue(ChapterSummariesStateSchema, input.chapterSummaries, issues, "invalid_chapter_summaries_state", "chapterSummaries");
9
+ if (hooks) {
10
+ const seen = new Set();
11
+ for (const hook of hooks.hooks) {
12
+ if (seen.has(hook.hookId)) {
13
+ issues.push({
14
+ code: "duplicate_hook_id",
15
+ message: `duplicate hook id: ${hook.hookId}`,
16
+ path: `hooks.${hook.hookId}`,
17
+ });
18
+ }
19
+ seen.add(hook.hookId);
17
20
  }
18
- seen.add(hook.hookId);
19
21
  }
20
- }
21
- if (chapterSummaries) {
22
- const seen = new Set();
23
- for (const row of chapterSummaries.rows) {
24
- if (seen.has(row.chapter)) {
25
- issues.push({
26
- code: "duplicate_summary_chapter",
27
- message: `duplicate summary chapter: ${row.chapter}`,
28
- path: `chapterSummaries.${row.chapter}`,
29
- });
22
+ if (chapterSummaries) {
23
+ const seen = new Set();
24
+ for (const row of chapterSummaries.rows) {
25
+ if (seen.has(row.chapter)) {
26
+ issues.push({
27
+ code: "duplicate_summary_chapter",
28
+ message: `duplicate summary chapter: ${row.chapter}`,
29
+ path: `chapterSummaries.${row.chapter}`,
30
+ });
31
+ }
32
+ seen.add(row.chapter);
30
33
  }
31
- seen.add(row.chapter);
32
34
  }
35
+ if (manifest && currentState && currentState.chapter > manifest.lastAppliedChapter) {
36
+ issues.push({
37
+ code: "current_state_ahead_of_manifest",
38
+ message: `current state chapter ${currentState.chapter} exceeds manifest ${manifest.lastAppliedChapter}`,
39
+ path: "currentState.chapter",
40
+ });
41
+ }
42
+ return issues;
33
43
  }
34
- if (manifest && currentState && currentState.chapter > manifest.lastAppliedChapter) {
35
- issues.push({
36
- code: "current_state_ahead_of_manifest",
37
- message: `current state chapter ${currentState.chapter} exceeds manifest ${manifest.lastAppliedChapter}`,
38
- path: "currentState.chapter",
39
- });
44
+ catch (error) {
45
+ return [
46
+ {
47
+ code: "validator_crash",
48
+ message: String(error),
49
+ path: "",
50
+ },
51
+ ];
40
52
  }
41
- return issues;
42
53
  }
43
54
  function parseOrIssue(schema, value, issues, code, path) {
44
55
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"state-validator.js","sourceRoot":"","sources":["../../src/state/state-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAQpC,MAAM,UAAU,oBAAoB,CAAC,KAKpC;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,MAAM,QAAQ,GAAG,YAAY,CAC3B,mBAAmB,EACnB,KAAK,CAAC,QAAQ,EACd,MAAM,EACN,kBAAkB,EAClB,UAAU,CACX,CAAC;IACF,MAAM,YAAY,GAAG,YAAY,CAC/B,uBAAuB,EACvB,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,uBAAuB,EACvB,cAAc,CACf,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CACxB,gBAAgB,EAChB,KAAK,CAAC,KAAK,EACX,MAAM,EACN,qBAAqB,EACrB,OAAO,CACR,CAAC;IACF,MAAM,gBAAgB,GAAG,YAAY,CACnC,2BAA2B,EAC3B,KAAK,CAAC,gBAAgB,EACtB,MAAM,EACN,iCAAiC,EACjC,kBAAkB,CACnB,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,sBAAsB,IAAI,CAAC,MAAM,EAAE;oBAC5C,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,8BAA8B,GAAG,CAAC,OAAO,EAAE;oBACpD,IAAI,EAAE,oBAAoB,GAAG,CAAC,OAAO,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,yBAAyB,YAAY,CAAC,OAAO,qBAAqB,QAAQ,CAAC,kBAAkB,EAAE;YACxG,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,MAAoC,EACpC,KAAc,EACd,MAAqC,EACrC,IAAY,EACZ,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;YACtB,IAAI;SACL,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"state-validator.js","sourceRoot":"","sources":["../../src/state/state-validator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/E,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,QAAkC,CAAC;AAE/D,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,GAAG,OAAO,CAwBV;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,aAAa,CAAC,CAmFxB"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI/E,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,QAAkC,CAAC;AAc/D,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,GAAG,OAAO,CAwBV;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,aAAa,CAAC,CA2IxB"}
@@ -2,6 +2,8 @@ import { readFile, access } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import { ProjectConfigSchema } from "../models/project.js";
5
+ import { getServiceApiKey } from "../llm/secrets.js";
6
+ import { resolveServicePreset } from "../llm/service-presets.js";
5
7
  export const GLOBAL_CONFIG_DIR = join(homedir(), ".inkos");
6
8
  export const GLOBAL_ENV_PATH = join(GLOBAL_CONFIG_DIR, ".env");
7
9
  export function isApiKeyOptionalForEndpoint(params) {
@@ -50,56 +52,100 @@ export async function loadProjectConfig(root, options) {
50
52
  catch {
51
53
  throw new Error(`inkos.json in ${root} is not valid JSON. Check the file for syntax errors.`);
52
54
  }
53
- // .env overrides inkos.json for LLM settings
55
+ // llm.configSource controls whether INKOS_LLM_* env vars override project config
54
56
  const env = process.env;
55
57
  const llm = (config.llm ?? {});
56
- if (env.INKOS_LLM_PROVIDER)
57
- llm.provider = env.INKOS_LLM_PROVIDER;
58
- if (env.INKOS_LLM_BASE_URL)
59
- llm.baseUrl = env.INKOS_LLM_BASE_URL;
60
- if (env.INKOS_LLM_MODEL)
61
- llm.model = env.INKOS_LLM_MODEL;
62
- if (env.INKOS_LLM_TEMPERATURE)
63
- llm.temperature = parseFloat(env.INKOS_LLM_TEMPERATURE);
64
- if (env.INKOS_LLM_MAX_TOKENS)
65
- llm.maxTokens = parseInt(env.INKOS_LLM_MAX_TOKENS, 10);
66
- if (env.INKOS_LLM_THINKING_BUDGET)
67
- llm.thinkingBudget = parseInt(env.INKOS_LLM_THINKING_BUDGET, 10);
58
+ const configSource = resolveConfigSource(llm.configSource);
59
+ llm.configSource = configSource;
60
+ const normalizedServices = normalizeServiceEntries(llm.services);
61
+ if (normalizedServices.length > 0) {
62
+ llm.services = normalizedServices;
63
+ const selectedEntry = selectServiceEntry(normalizedServices, llm.service);
64
+ const selectedServiceId = selectedEntry ? serviceEntryKey(selectedEntry) : undefined;
65
+ if (selectedEntry) {
66
+ llm.service = selectedEntry.service;
67
+ if (!(typeof llm.model === "string" && llm.model.length > 0) && typeof llm.defaultModel === "string" && llm.defaultModel.length > 0) {
68
+ llm.model = llm.defaultModel;
69
+ }
70
+ if (!(typeof llm.baseUrl === "string" && llm.baseUrl.length > 0)) {
71
+ llm.baseUrl = selectedEntry.baseUrl ?? resolveServicePreset(selectedEntry.service)?.baseUrl ?? "";
72
+ }
73
+ if (!(typeof llm.provider === "string" && llm.provider.length > 0)) {
74
+ llm.provider = deriveProviderFromService(selectedEntry.service);
75
+ }
76
+ if (llm.temperature === undefined && selectedEntry.temperature !== undefined) {
77
+ llm.temperature = selectedEntry.temperature;
78
+ }
79
+ if (llm.maxTokens === undefined && selectedEntry.maxTokens !== undefined) {
80
+ llm.maxTokens = selectedEntry.maxTokens;
81
+ }
82
+ if (selectedEntry.apiFormat !== undefined) {
83
+ llm.apiFormat = selectedEntry.apiFormat;
84
+ }
85
+ if (selectedEntry.stream !== undefined) {
86
+ llm.stream = selectedEntry.stream;
87
+ }
88
+ if (selectedServiceId && (configSource !== "env" || !env.INKOS_LLM_API_KEY)) {
89
+ const secretApiKey = await getServiceApiKey(root, selectedServiceId);
90
+ if (secretApiKey) {
91
+ llm.apiKey = secretApiKey;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ if (configSource === "env") {
97
+ if (env.INKOS_LLM_PROVIDER)
98
+ llm.provider = env.INKOS_LLM_PROVIDER;
99
+ if (env.INKOS_LLM_BASE_URL)
100
+ llm.baseUrl = env.INKOS_LLM_BASE_URL;
101
+ if (env.INKOS_LLM_MODEL)
102
+ llm.model = env.INKOS_LLM_MODEL;
103
+ if (env.INKOS_LLM_TEMPERATURE)
104
+ llm.temperature = parseFloat(env.INKOS_LLM_TEMPERATURE);
105
+ if (env.INKOS_LLM_MAX_TOKENS)
106
+ llm.maxTokens = parseInt(env.INKOS_LLM_MAX_TOKENS, 10);
107
+ if (env.INKOS_LLM_THINKING_BUDGET)
108
+ llm.thinkingBudget = parseInt(env.INKOS_LLM_THINKING_BUDGET, 10);
109
+ }
68
110
  // Extra params from env: INKOS_LLM_EXTRA_<key>=<value>
69
111
  const extraFromEnv = {};
70
- for (const [key, value] of Object.entries(env)) {
71
- if (key.startsWith("INKOS_LLM_EXTRA_") && value) {
72
- const paramName = key.slice("INKOS_LLM_EXTRA_".length);
73
- // Auto-coerce: numbers, booleans, JSON objects
74
- if (/^\d+(\.\d+)?$/.test(value))
75
- extraFromEnv[paramName] = parseFloat(value);
76
- else if (value === "true")
77
- extraFromEnv[paramName] = true;
78
- else if (value === "false")
79
- extraFromEnv[paramName] = false;
80
- else if (value.startsWith("{") || value.startsWith("[")) {
81
- try {
82
- extraFromEnv[paramName] = JSON.parse(value);
112
+ if (configSource === "env") {
113
+ for (const [key, value] of Object.entries(env)) {
114
+ if (key.startsWith("INKOS_LLM_EXTRA_") && value) {
115
+ const paramName = key.slice("INKOS_LLM_EXTRA_".length);
116
+ // Auto-coerce: numbers, booleans, JSON objects
117
+ if (/^\d+(\.\d+)?$/.test(value))
118
+ extraFromEnv[paramName] = parseFloat(value);
119
+ else if (value === "true")
120
+ extraFromEnv[paramName] = true;
121
+ else if (value === "false")
122
+ extraFromEnv[paramName] = false;
123
+ else if (value.startsWith("{") || value.startsWith("[")) {
124
+ try {
125
+ extraFromEnv[paramName] = JSON.parse(value);
126
+ }
127
+ catch {
128
+ extraFromEnv[paramName] = value;
129
+ }
83
130
  }
84
- catch {
131
+ else
85
132
  extraFromEnv[paramName] = value;
86
- }
87
133
  }
88
- else
89
- extraFromEnv[paramName] = value;
90
134
  }
91
135
  }
92
136
  if (Object.keys(extraFromEnv).length > 0) {
93
137
  llm.extra = { ...(llm.extra ?? {}), ...extraFromEnv };
94
138
  }
95
- if (env.INKOS_LLM_API_FORMAT)
139
+ if (configSource === "env" && env.INKOS_LLM_API_FORMAT)
96
140
  llm.apiFormat = env.INKOS_LLM_API_FORMAT;
97
141
  config.llm = llm;
98
142
  // Global language override
99
143
  if (env.INKOS_DEFAULT_LANGUAGE)
100
144
  config.language = env.INKOS_DEFAULT_LANGUAGE;
101
145
  // API key ONLY from env — never stored in inkos.json
102
- const apiKey = env.INKOS_LLM_API_KEY;
146
+ const apiKey = configSource === "env"
147
+ ? env.INKOS_LLM_API_KEY || (typeof llm.apiKey === "string" ? llm.apiKey : "")
148
+ : (typeof llm.apiKey === "string" ? llm.apiKey : "");
103
149
  const provider = typeof llm.provider === "string" ? llm.provider : undefined;
104
150
  const baseUrl = typeof llm.baseUrl === "string" ? llm.baseUrl : undefined;
105
151
  const apiKeyOptional = isApiKeyOptionalForEndpoint({ provider, baseUrl });
@@ -120,6 +166,77 @@ export async function loadProjectConfig(root, options) {
120
166
  llm.apiKey = apiKey ?? "";
121
167
  return ProjectConfigSchema.parse(config);
122
168
  }
169
+ function resolveConfigSource(value) {
170
+ return value === "studio" ? "studio" : "env";
171
+ }
172
+ function normalizeServiceEntries(raw) {
173
+ if (Array.isArray(raw)) {
174
+ return raw
175
+ .filter((entry) => Boolean(entry) && typeof entry === "object")
176
+ .map((entry) => ({
177
+ service: typeof entry.service === "string" && entry.service.length > 0 ? entry.service : "custom",
178
+ ...(typeof entry.name === "string" && entry.name.length > 0 ? { name: entry.name } : {}),
179
+ ...(typeof entry.baseUrl === "string" && entry.baseUrl.length > 0 ? { baseUrl: entry.baseUrl } : {}),
180
+ ...(typeof entry.temperature === "number" ? { temperature: entry.temperature } : {}),
181
+ ...(typeof entry.maxTokens === "number" ? { maxTokens: entry.maxTokens } : {}),
182
+ ...(entry.apiFormat === "chat" || entry.apiFormat === "responses" ? { apiFormat: entry.apiFormat } : {}),
183
+ ...(typeof entry.stream === "boolean" ? { stream: entry.stream } : {}),
184
+ }));
185
+ }
186
+ if (raw && typeof raw === "object") {
187
+ return Object.entries(raw)
188
+ .filter(([, value]) => value && typeof value === "object")
189
+ .map(([serviceId, value]) => normalizeServiceEntryFromPatch(serviceId, value));
190
+ }
191
+ return [];
192
+ }
193
+ function normalizeServiceEntryFromPatch(serviceId, value) {
194
+ if (serviceId.startsWith("custom:")) {
195
+ return {
196
+ service: "custom",
197
+ name: decodeURIComponent(serviceId.slice("custom:".length)),
198
+ ...(typeof value.baseUrl === "string" && value.baseUrl.length > 0 ? { baseUrl: value.baseUrl } : {}),
199
+ ...(typeof value.temperature === "number" ? { temperature: value.temperature } : {}),
200
+ ...(typeof value.maxTokens === "number" ? { maxTokens: value.maxTokens } : {}),
201
+ ...(value.apiFormat === "chat" || value.apiFormat === "responses" ? { apiFormat: value.apiFormat } : {}),
202
+ ...(typeof value.stream === "boolean" ? { stream: value.stream } : {}),
203
+ };
204
+ }
205
+ if (serviceId === "custom") {
206
+ return {
207
+ service: "custom",
208
+ ...(typeof value.name === "string" && value.name.length > 0 ? { name: value.name } : {}),
209
+ ...(typeof value.baseUrl === "string" && value.baseUrl.length > 0 ? { baseUrl: value.baseUrl } : {}),
210
+ ...(typeof value.temperature === "number" ? { temperature: value.temperature } : {}),
211
+ ...(typeof value.maxTokens === "number" ? { maxTokens: value.maxTokens } : {}),
212
+ ...(value.apiFormat === "chat" || value.apiFormat === "responses" ? { apiFormat: value.apiFormat } : {}),
213
+ ...(typeof value.stream === "boolean" ? { stream: value.stream } : {}),
214
+ };
215
+ }
216
+ return {
217
+ service: serviceId,
218
+ ...(typeof value.temperature === "number" ? { temperature: value.temperature } : {}),
219
+ ...(typeof value.maxTokens === "number" ? { maxTokens: value.maxTokens } : {}),
220
+ ...(value.apiFormat === "chat" || value.apiFormat === "responses" ? { apiFormat: value.apiFormat } : {}),
221
+ ...(typeof value.stream === "boolean" ? { stream: value.stream } : {}),
222
+ };
223
+ }
224
+ function selectServiceEntry(services, configuredService) {
225
+ if (typeof configuredService === "string" && configuredService.length > 0) {
226
+ return services.find((entry) => entry.service === configuredService || serviceEntryKey(entry) === configuredService) ?? services[0];
227
+ }
228
+ return services[0];
229
+ }
230
+ function serviceEntryKey(entry) {
231
+ return entry.service === "custom" ? `custom:${entry.name ?? "Custom"}` : entry.service;
232
+ }
233
+ function deriveProviderFromService(service) {
234
+ if (service === "anthropic")
235
+ return "anthropic";
236
+ if (service === "custom")
237
+ return "custom";
238
+ return "openai";
239
+ }
123
240
  function isPrivateIpv4(hostname) {
124
241
  const parts = hostname.split(".").map((segment) => Number.parseInt(segment, 10));
125
242
  if (parts.length !== 4 || parts.some((part) => Number.isNaN(part) || part < 0 || part > 255)) {
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actalk/inkos-core",
3
- "version": "1.2.0",
3
+ "version": "1.3.0-canary.26.1",
4
4
  "description": "InkOS core engine — multi-agent novel writing pipeline with 33-dimension continuity audit, style cloning, and de-AI-ification",
5
5
  "keywords": [
6
6
  "ai-novel-writing",
@@ -35,10 +35,11 @@
35
35
  "directory": "packages/core"
36
36
  },
37
37
  "dependencies": {
38
- "@anthropic-ai/sdk": "^0.78.0",
38
+ "@mariozechner/pi-agent-core": "^0.67.1",
39
+ "@mariozechner/pi-ai": "^0.67.1",
40
+ "@sinclair/typebox": "^0.34.49",
39
41
  "dotenv": "^16.4.0",
40
42
  "js-yaml": "^4.1.1",
41
- "openai": "^4.80.0",
42
43
  "zod": "^3.24.0"
43
44
  },
44
45
  "devDependencies": {