@agntk/core 0.2.0 → 0.3.0

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 (69) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +61 -43
  3. package/dist/agent.js.map +1 -1
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +16 -4
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/loader.d.ts +14 -6
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +38 -16
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/schema.d.ts +14 -14
  12. package/dist/config/schema.d.ts.map +1 -1
  13. package/dist/config/schema.js +1 -1
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/guardrails/runner.d.ts.map +1 -1
  16. package/dist/guardrails/runner.js +4 -0
  17. package/dist/guardrails/runner.js.map +1 -1
  18. package/dist/index.d.ts +5 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +9 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/models.d.ts +24 -1
  23. package/dist/models.d.ts.map +1 -1
  24. package/dist/models.js +50 -4
  25. package/dist/models.js.map +1 -1
  26. package/dist/presets/tools.d.ts +2 -2
  27. package/dist/provider-resolver.d.ts +38 -0
  28. package/dist/provider-resolver.d.ts.map +1 -0
  29. package/dist/provider-resolver.js +142 -0
  30. package/dist/provider-resolver.js.map +1 -0
  31. package/dist/reflection.d.ts +5 -2
  32. package/dist/reflection.d.ts.map +1 -1
  33. package/dist/reflection.js +8 -3
  34. package/dist/reflection.js.map +1 -1
  35. package/dist/skills/loader.d.ts +18 -0
  36. package/dist/skills/loader.d.ts.map +1 -1
  37. package/dist/skills/loader.js +58 -2
  38. package/dist/skills/loader.js.map +1 -1
  39. package/dist/system-detect.d.ts +59 -0
  40. package/dist/system-detect.d.ts.map +1 -0
  41. package/dist/system-detect.js +193 -0
  42. package/dist/system-detect.js.map +1 -0
  43. package/dist/tools/browser/tool.d.ts +2 -2
  44. package/dist/tools/browser/types.d.ts +2 -2
  45. package/dist/tools/file/tools.d.ts.map +1 -1
  46. package/dist/tools/file/tools.js +30 -1
  47. package/dist/tools/file/tools.js.map +1 -1
  48. package/dist/tools/index.d.ts +0 -1
  49. package/dist/tools/index.d.ts.map +1 -1
  50. package/dist/tools/index.js +0 -2
  51. package/dist/tools/index.js.map +1 -1
  52. package/dist/tools/progress/index.d.ts +1 -1
  53. package/dist/tools/shell/background.d.ts.map +1 -1
  54. package/dist/tools/shell/background.js +45 -3
  55. package/dist/tools/shell/background.js.map +1 -1
  56. package/dist/tools/shell/tools.d.ts.map +1 -1
  57. package/dist/tools/shell/tools.js +9 -2
  58. package/dist/tools/shell/tools.js.map +1 -1
  59. package/dist/tools/utils/shell.d.ts +14 -0
  60. package/dist/tools/utils/shell.d.ts.map +1 -1
  61. package/dist/tools/utils/shell.js +171 -12
  62. package/dist/tools/utils/shell.js.map +1 -1
  63. package/dist/types/agent.d.ts +10 -0
  64. package/dist/types/agent.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/dist/tools/factory.d.ts +0 -109
  67. package/dist/tools/factory.d.ts.map +0 -1
  68. package/dist/tools/factory.js +0 -166
  69. package/dist/tools/factory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/guardrails/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/guardrails/runner.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,11 @@
8
8
  */
9
9
  export { createAgent } from './agent.js';
10
10
  export type { AgentOptions, Agent, AgentStreamResult, } from './types/agent.js';
11
- export { resolveModel, models } from './models.js';
11
+ export { resolveModel, models, setResolvedProvider, getResolvedProviderState } from './models.js';
12
+ export type { ResolvedProvider } from './models.js';
13
+ export { resolveProvider, getResolvedProvider, resetProviderCache } from './provider-resolver.js';
14
+ export { detectSystem, recommendOllamaModels, getOllamaModels, hasOllamaModel } from './system-detect.js';
15
+ export type { SystemProfile, OllamaModelTier, OllamaModelRecommendation } from './system-detect.js';
12
16
  export { loadConfig, getConfig, configure, defineConfig, getModelForTier, DEFAULT_MODELS, DEFAULT_PROVIDER, } from './config/index.js';
13
17
  export type { AgentConfig, PartialAgentConfig, ModelsConfig, ModelTier, Provider } from './config/index.js';
14
18
  export type { SkillsConfig, SkillMeta, SkillContent } from './skills/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMhD,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMnG,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMvF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMzE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC/F,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMjD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAM/F,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAMjG,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMnG,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMlE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMvF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMzE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -13,7 +13,15 @@ export { createAgent } from './agent.js';
13
13
  // ═══════════════════════════════════════════════════════════════════════════════
14
14
  // Models
15
15
  // ═══════════════════════════════════════════════════════════════════════════════
16
- export { resolveModel, models } from './models.js';
16
+ export { resolveModel, models, setResolvedProvider, getResolvedProviderState } from './models.js';
17
+ // ═══════════════════════════════════════════════════════════════════════════════
18
+ // Provider Resolution
19
+ // ═══════════════════════════════════════════════════════════════════════════════
20
+ export { resolveProvider, getResolvedProvider, resetProviderCache } from './provider-resolver.js';
21
+ // ═══════════════════════════════════════════════════════════════════════════════
22
+ // System Detection
23
+ // ═══════════════════════════════════════════════════════════════════════════════
24
+ export { detectSystem, recommendOllamaModels, getOllamaModels, hasOllamaModel } from './system-detect.js';
17
25
  // ═══════════════════════════════════════════════════════════════════════════════
18
26
  // Configuration
19
27
  // ═══════════════════════════════════════════════════════════════════════════════
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,kFAAkF;AAClF,wBAAwB;AACxB,kFAAkF;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,kFAAkF;AAClF,SAAS;AACT,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,kFAAkF;AAClF,gBAAgB;AAChB,kFAAkF;AAElF,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,kFAAkF;AAClF,eAAe;AACf,kFAAkF;AAElF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqBpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,kFAAkF;AAClF,gBAAgB;AAChB,kFAAkF;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,kFAAkF;AAClF,wBAAwB;AACxB,kFAAkF;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,kFAAkF;AAClF,SAAS;AACT,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG/F,kFAAkF;AAClF,sBAAsB;AACtB,kFAAkF;AAElF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,kFAAkF;AAClF,mBAAmB;AACnB,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGvG,kFAAkF;AAClF,gBAAgB;AAChB,kFAAkF;AAElF,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,kFAAkF;AAClF,eAAe;AACf,kFAAkF;AAElF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqBpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,kFAAkF;AAClF,gBAAgB;AAChB,kFAAkF;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/models.d.ts CHANGED
@@ -6,7 +6,30 @@
6
6
  */
7
7
  import type { LanguageModel } from 'ai';
8
8
  export type ModelTier = 'fast' | 'standard' | 'reasoning' | 'powerful';
9
- export type ModelProvider = 'openrouter' | 'ollama' | 'openai' | (string & {});
9
+ export type ModelProvider = 'openrouter' | 'ollama' | 'openai' | 'cerebras' | 'agntk-free' | (string & {});
10
+ export interface ResolvedProvider {
11
+ provider: string;
12
+ source: string;
13
+ isFree: boolean;
14
+ /** Hardware-aware Ollama model recommendations (when provider is 'ollama') */
15
+ ollamaModels?: {
16
+ tier: string;
17
+ fast: string;
18
+ standard: string;
19
+ reasoning: string;
20
+ powerful: string;
21
+ reason: string;
22
+ };
23
+ }
24
+ /**
25
+ * Set the resolved provider. Called once by the CLI after running the cascade.
26
+ * Bridges async resolution to sync model creation functions.
27
+ */
28
+ export declare function setResolvedProvider(resolved: ResolvedProvider): void;
29
+ /**
30
+ * Get the currently resolved provider, or null if not yet resolved.
31
+ */
32
+ export declare function getResolvedProviderState(): ResolvedProvider | null;
10
33
  export interface ModelConfig {
11
34
  provider: ModelProvider;
12
35
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAkFxC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AACvE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AA4CD,eAAO,MAAM,MAAM;gBACP,aAAa;oBACT,aAAa;qBACZ,aAAa;oBACd,aAAa;CAC5B,CAAC;AAMF,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,sBAA2B,GAAG,aAAa,CAsBhF"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AA+FxC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AACvE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAM3G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAGpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,GAAG,IAAI,CAElE;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAkED,eAAO,MAAM,MAAM;gBACP,aAAa;oBACT,aAAa;qBACZ,aAAa;oBACd,aAAa;CAC5B,CAAC;AAMF,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,sBAA2B,GAAG,aAAa,CAsBhF"}
package/dist/models.js CHANGED
@@ -24,6 +24,16 @@ const PROVIDER_CONFIGS = {
24
24
  baseURL: 'https://api.openai.com/v1',
25
25
  apiKeyEnv: 'OPENAI_API_KEY',
26
26
  },
27
+ cerebras: {
28
+ name: 'cerebras',
29
+ baseURL: 'https://api.cerebras.ai/v1',
30
+ apiKeyEnv: 'CEREBRAS_API_KEY',
31
+ },
32
+ 'agntk-free': {
33
+ name: 'agntk-free',
34
+ baseURL: 'https://api.agntk.dev/v1',
35
+ apiKeyEnv: 'AGNTK_FREE_TIER_KEY',
36
+ },
27
37
  };
28
38
  // ============================================================================
29
39
  // Provider Instances (Lazy Initialization)
@@ -52,7 +62,10 @@ function getProvider(providerName) {
52
62
  else {
53
63
  throw new Error(`Unknown provider: ${providerName}. Configure it in models.customProviders.`);
54
64
  }
55
- const apiKey = process.env[providerConfig.apiKeyEnv] || '';
65
+ // For the free tier proxy, use a static identifier token (proxy holds the real key)
66
+ const apiKey = providerConfig.name === 'agntk-free'
67
+ ? 'agntk-free-v1'
68
+ : (process.env[providerConfig.apiKeyEnv] || '');
56
69
  log.debug('Initializing provider', { name: providerConfig.name, baseURL: providerConfig.baseURL });
57
70
  instance = createOpenAICompatible({
58
71
  name: providerConfig.name,
@@ -63,6 +76,21 @@ function getProvider(providerName) {
63
76
  providerInstances.set(providerName, instance);
64
77
  return instance;
65
78
  }
79
+ let _resolvedProvider = null;
80
+ /**
81
+ * Set the resolved provider. Called once by the CLI after running the cascade.
82
+ * Bridges async resolution to sync model creation functions.
83
+ */
84
+ export function setResolvedProvider(resolved) {
85
+ _resolvedProvider = resolved;
86
+ log.info('Provider set', { provider: resolved.provider, source: resolved.source });
87
+ }
88
+ /**
89
+ * Get the currently resolved provider, or null if not yet resolved.
90
+ */
91
+ export function getResolvedProviderState() {
92
+ return _resolvedProvider;
93
+ }
66
94
  // ============================================================================
67
95
  // Environment Variable Model Overrides
68
96
  // ============================================================================
@@ -85,13 +113,31 @@ function createModelForProvider(provider, modelName) {
85
113
  // Model Tier Functions
86
114
  // ============================================================================
87
115
  /**
88
- * Create a model for a given tier, respecting env overrides and Ollama fallback.
116
+ * Create a model for a given tier, respecting env overrides, resolved provider, and Ollama fallback.
117
+ *
118
+ * For Ollama providers, model selection is hardware-aware:
119
+ * the provider resolver attaches an ollamaModels recommendation that
120
+ * maps each tier to the largest model the system can run.
89
121
  */
90
122
  function createTierModel(tier) {
123
+ // 1. Use resolved provider if available (new zero-config path)
124
+ if (_resolvedProvider) {
125
+ const providerName = _resolvedProvider.provider;
126
+ // For Ollama: check env override → hardware-detected models → static defaults
127
+ const ollamaRecommended = _resolvedProvider.ollamaModels;
128
+ const modelName = getEnvModel(tier)
129
+ || (providerName === 'ollama' ? getOllamaEnvModel(tier) : undefined)
130
+ || (providerName === 'ollama' && ollamaRecommended ? ollamaRecommended[tier] : undefined)
131
+ || DEFAULT_MODELS[providerName]?.[tier]
132
+ || DEFAULT_MODELS[DEFAULT_PROVIDER][tier];
133
+ return createModelForProvider(providerName, modelName);
134
+ }
135
+ // 2. Legacy path: explicit OLLAMA_ENABLED
91
136
  if (process.env['OLLAMA_ENABLED'] === 'true') {
92
137
  const modelName = getOllamaEnvModel(tier) || DEFAULT_MODELS.ollama[tier];
93
138
  return createModelForProvider('ollama', modelName);
94
139
  }
140
+ // 3. Legacy path: default to openrouter
95
141
  const modelName = getEnvModel(tier) || DEFAULT_MODELS.openrouter[tier];
96
142
  return createModelForProvider('openrouter', modelName);
97
143
  }
@@ -122,8 +168,8 @@ export function resolveModel(options = {}) {
122
168
  log.info('Resolving model (OpenRouter format)', { modelName });
123
169
  return createModelForProvider('openrouter', modelName);
124
170
  }
125
- // Use tier-based selection from config
126
- const effectiveProvider = provider ?? config.models?.defaultProvider ?? DEFAULT_PROVIDER;
171
+ // Use tier-based selection from config, falling back to resolved provider
172
+ const effectiveProvider = provider ?? config.models?.defaultProvider ?? _resolvedProvider?.provider ?? DEFAULT_PROVIDER;
127
173
  const effectiveModel = getModelForTier(tier, effectiveProvider);
128
174
  log.info('Resolving model (tier-based)', { tier, provider: effectiveProvider, model: effectiveModel });
129
175
  return createModelForProvider(effectiveProvider, effectiveModel);
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -97,8 +97,8 @@ export declare function createToolPreset(preset: ToolPresetLevel, options?: Tool
97
97
  }, string>;
98
98
  } | {
99
99
  browser: import("ai").Tool<{
100
- url: string;
101
100
  action: "open";
101
+ url: string;
102
102
  } | {
103
103
  action: "snapshot";
104
104
  interactive?: boolean | undefined;
@@ -162,8 +162,8 @@ export declare function createToolPreset(preset: ToolPresetLevel, options?: Tool
162
162
  }, string>;
163
163
  progress_read: import("ai").Tool<{}, string>;
164
164
  progress_update: import("ai").Tool<{
165
- sessionId?: string | undefined;
166
165
  action?: string | undefined;
166
+ sessionId?: string | undefined;
167
167
  featureId?: string | undefined;
168
168
  featureName?: string | undefined;
169
169
  featureStatus?: "blocked" | "completed" | "pending" | "in_progress" | undefined;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @fileoverview Provider auto-resolution cascade.
3
+ *
4
+ * Priority:
5
+ * 1. BYOK: User has OPENROUTER_API_KEY, OPENAI_API_KEY, or CEREBRAS_API_KEY
6
+ * 2. Ollama: Running locally at localhost:11434 (with system-aware model selection)
7
+ * 3. Free tier: agntk proxy at api.agntk.dev backed by Cerebras
8
+ */
9
+ import { type OllamaModelRecommendation } from './system-detect.js';
10
+ export interface ResolvedProvider {
11
+ /** Provider name matching PROVIDER_CONFIGS key */
12
+ provider: string;
13
+ /** Human-readable explanation of how this was resolved */
14
+ source: string;
15
+ /** Whether this is the free tier (for display/rate-limit messaging) */
16
+ isFree: boolean;
17
+ /** When provider is 'ollama', hardware-aware model recommendations */
18
+ ollamaModels?: OllamaModelRecommendation;
19
+ }
20
+ /**
21
+ * Resolve the best available provider.
22
+ *
23
+ * Cascade:
24
+ * 1. BYOK keys (sync, instant)
25
+ * 2. Explicit OLLAMA_ENABLED (sync, instant)
26
+ * 3. Ollama auto-detect probe (async, <=500ms)
27
+ * 4. Free tier fallback (sync, instant)
28
+ */
29
+ export declare function resolveProvider(): Promise<ResolvedProvider>;
30
+ /**
31
+ * Get the resolved provider, caching for the process lifetime.
32
+ */
33
+ export declare function getResolvedProvider(): Promise<ResolvedProvider>;
34
+ /**
35
+ * Reset the cached provider (for testing).
36
+ */
37
+ export declare function resetProviderCache(): void;
38
+ //# sourceMappingURL=provider-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-resolver.d.ts","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAuC,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAQtG,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AA2FD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAejE;AASD;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAUrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * @fileoverview Provider auto-resolution cascade.
3
+ *
4
+ * Priority:
5
+ * 1. BYOK: User has OPENROUTER_API_KEY, OPENAI_API_KEY, or CEREBRAS_API_KEY
6
+ * 2. Ollama: Running locally at localhost:11434 (with system-aware model selection)
7
+ * 3. Free tier: agntk proxy at api.agntk.dev backed by Cerebras
8
+ */
9
+ import { createLogger } from '@agntk/logger';
10
+ import { detectSystem, recommendOllamaModels } from './system-detect.js';
11
+ const log = createLogger('@agntk/core:provider-resolver');
12
+ // ============================================================================
13
+ // BYOK Detection (sync, instant)
14
+ // ============================================================================
15
+ const BYOK_KEYS = [
16
+ { env: 'OPENROUTER_API_KEY', provider: 'openrouter' },
17
+ { env: 'OPENAI_API_KEY', provider: 'openai' },
18
+ { env: 'CEREBRAS_API_KEY', provider: 'cerebras' },
19
+ ];
20
+ function checkBYOK() {
21
+ for (const { env, provider } of BYOK_KEYS) {
22
+ const key = process.env[env];
23
+ if (key && key.trim().length > 0) {
24
+ log.info('BYOK key detected', { provider, env });
25
+ return { provider, source: env, isFree: false };
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ // ============================================================================
31
+ // Ollama Detection
32
+ // ============================================================================
33
+ /**
34
+ * Check if OLLAMA_ENABLED is explicitly set (legacy support).
35
+ * Also detects hardware for model recommendation.
36
+ */
37
+ function checkOllamaExplicit() {
38
+ if (process.env['OLLAMA_ENABLED'] === 'true') {
39
+ const sysProfile = detectSystem();
40
+ const models = recommendOllamaModels(sysProfile);
41
+ log.info('Ollama explicitly enabled via OLLAMA_ENABLED', { tier: models.tier });
42
+ return { provider: 'ollama', source: 'OLLAMA_ENABLED=true', isFree: false, ollamaModels: models };
43
+ }
44
+ return null;
45
+ }
46
+ /**
47
+ * Probe Ollama at localhost:11434 with a fast health check.
48
+ * If Ollama is running, detect system hardware and recommend models.
49
+ * Returns within 500ms regardless of whether Ollama is running.
50
+ */
51
+ async function probeOllama() {
52
+ const baseUrl = process.env['OLLAMA_BASE_URL'] || 'http://localhost:11434';
53
+ const controller = new AbortController();
54
+ const timeout = setTimeout(() => controller.abort(), 500);
55
+ try {
56
+ const response = await fetch(`${baseUrl}/api/tags`, {
57
+ signal: controller.signal,
58
+ method: 'GET',
59
+ });
60
+ clearTimeout(timeout);
61
+ if (response.ok) {
62
+ // Ollama is running — detect hardware and pick best model tier
63
+ const sysProfile = detectSystem();
64
+ const models = recommendOllamaModels(sysProfile);
65
+ log.info('Ollama detected', { baseUrl, tier: models.tier, reason: models.reason });
66
+ return {
67
+ provider: 'ollama',
68
+ source: `ollama (${baseUrl})`,
69
+ isFree: false,
70
+ ollamaModels: models,
71
+ };
72
+ }
73
+ return null;
74
+ }
75
+ catch {
76
+ clearTimeout(timeout);
77
+ log.debug('Ollama not available', { baseUrl });
78
+ return null;
79
+ }
80
+ }
81
+ // ============================================================================
82
+ // Free Tier Fallback
83
+ // ============================================================================
84
+ function getFreeTier() {
85
+ log.info('Using agntk free tier');
86
+ return { provider: 'agntk-free', source: 'free tier (Cerebras)', isFree: true };
87
+ }
88
+ // ============================================================================
89
+ // Main Cascade
90
+ // ============================================================================
91
+ /**
92
+ * Resolve the best available provider.
93
+ *
94
+ * Cascade:
95
+ * 1. BYOK keys (sync, instant)
96
+ * 2. Explicit OLLAMA_ENABLED (sync, instant)
97
+ * 3. Ollama auto-detect probe (async, <=500ms)
98
+ * 4. Free tier fallback (sync, instant)
99
+ */
100
+ export async function resolveProvider() {
101
+ // 1. BYOK — instant
102
+ const byok = checkBYOK();
103
+ if (byok)
104
+ return byok;
105
+ // 2. Explicit Ollama flag — instant
106
+ const ollamaExplicit = checkOllamaExplicit();
107
+ if (ollamaExplicit)
108
+ return ollamaExplicit;
109
+ // 3. Ollama auto-detect — max 500ms
110
+ const ollamaProbe = await probeOllama();
111
+ if (ollamaProbe)
112
+ return ollamaProbe;
113
+ // 4. Free tier — always available
114
+ return getFreeTier();
115
+ }
116
+ // ============================================================================
117
+ // Caching
118
+ // ============================================================================
119
+ let cachedProvider = null;
120
+ let resolvePromise = null;
121
+ /**
122
+ * Get the resolved provider, caching for the process lifetime.
123
+ */
124
+ export async function getResolvedProvider() {
125
+ if (cachedProvider)
126
+ return cachedProvider;
127
+ if (resolvePromise)
128
+ return resolvePromise;
129
+ resolvePromise = resolveProvider().then((p) => {
130
+ cachedProvider = p;
131
+ return p;
132
+ });
133
+ return resolvePromise;
134
+ }
135
+ /**
136
+ * Reset the cached provider (for testing).
137
+ */
138
+ export function resetProviderCache() {
139
+ cachedProvider = null;
140
+ resolvePromise = null;
141
+ }
142
+ //# sourceMappingURL=provider-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-resolver.js","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAkC,MAAM,iBAAiB,CAAC;AAEtG,MAAM,GAAG,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAiB1D,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E,MAAM,SAAS,GAAG;IAChB,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE;IACrD,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC7C,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE;CACzC,CAAC;AAEX,SAAS,SAAS;IAChB,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,mBAAmB;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,wBAAwB,CAAC;IAC3E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,+DAA+D;YAC/D,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACnF,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,WAAW,OAAO,GAAG;gBAC7B,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,MAAM;aACrB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,WAAW;IAClB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAClF,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,oBAAoB;IACpB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,oCAAoC;IACpC,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAC7C,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,oCAAoC;IACpC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;IACxC,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,kCAAkC;IAClC,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,IAAI,cAAc,GAA4B,IAAI,CAAC;AACnD,IAAI,cAAc,GAAqC,IAAI,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,cAAc,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,cAAc,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
@@ -33,11 +33,14 @@ export declare function buildReflectionPrompt(config: ReflectionConfig, stepNumb
33
33
  * Create a `prepareStep` function for the AI SDK that injects reflection
34
34
  * prompts into the system message at appropriate steps.
35
35
  *
36
- * @param baseSystem - The original system prompt to augment.
36
+ * @param baseSystem - The original system prompt, or a getter that returns
37
+ * the current system prompt. Use a getter (`() => prompt`) when the prompt
38
+ * is mutated after creation (e.g. memory injection during ensureInit) so
39
+ * that reflection always uses the latest value (fixes DESIGN-001 race).
37
40
  * @param config - The reflection configuration.
38
41
  * @returns A prepareStep function compatible with AI SDK's ToolLoopAgent.
39
42
  */
40
- export declare function createReflectionPrepareStep<TOOLS extends Record<string, Tool> = Record<string, Tool>>(baseSystem: string, config: ReflectionConfig): (input: PrepareStepInput<TOOLS>) => {
43
+ export declare function createReflectionPrepareStep<TOOLS extends Record<string, Tool> = Record<string, Tool>>(baseSystem: string | (() => string), config: ReflectionConfig): (input: PrepareStepInput<TOOLS>) => {
41
44
  system?: string;
42
45
  } | undefined;
43
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../src/reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAM3C,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjE,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IACzF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AA4BD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAqBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACnG,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,GACvB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAerE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAQzE"}
1
+ {"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../src/reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAM3C,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjE,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IACzF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AA4BD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAqBpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACnG,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EACnC,MAAM,EAAE,gBAAgB,GACvB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAQzE"}
@@ -56,7 +56,10 @@ export function buildReflectionPrompt(config, stepNumber) {
56
56
  * Create a `prepareStep` function for the AI SDK that injects reflection
57
57
  * prompts into the system message at appropriate steps.
58
58
  *
59
- * @param baseSystem - The original system prompt to augment.
59
+ * @param baseSystem - The original system prompt, or a getter that returns
60
+ * the current system prompt. Use a getter (`() => prompt`) when the prompt
61
+ * is mutated after creation (e.g. memory injection during ensureInit) so
62
+ * that reflection always uses the latest value (fixes DESIGN-001 race).
60
63
  * @param config - The reflection configuration.
61
64
  * @returns A prepareStep function compatible with AI SDK's ToolLoopAgent.
62
65
  */
@@ -69,9 +72,11 @@ export function createReflectionPrepareStep(baseSystem, config) {
69
72
  const reflection = buildReflectionPrompt(config, stepNumber);
70
73
  if (!reflection)
71
74
  return undefined;
72
- // Augment the system prompt with the reflection block
75
+ // Resolve base system at call-time so memory/context injected after
76
+ // createReflectionPrepareStep() is called is always picked up.
77
+ const base = typeof baseSystem === 'function' ? baseSystem() : baseSystem;
73
78
  return {
74
- system: `${baseSystem}\n\n${reflection}`,
79
+ system: `${base}\n\n${reflection}`,
75
80
  };
76
81
  };
77
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../src/reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,wBAAwB,GAAG;;;;;;cAMnB,CAAC;AAEf,MAAM,yBAAyB,GAAG;;;;;;cAMpB,CAAC;AAEf,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAwB,EACxB,UAAkB;IAElB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,4EAA4E;QAC5E,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,OAAO,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;QACxD,6CAA6C;QAC7C,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,GAAG,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvE,OAAO,MAAM,CAAC,cAAc,IAAI,yBAAyB,CAAC;IAC5D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,MAAwB;IAExB,mCAAmC;IACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAElC,sDAAsD;QACtD,OAAO;YACL,MAAM,EAAE,GAAG,UAAU,OAAO,UAAU,EAAE;SACzC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU;YAChC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,yBAAyB,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;IACP,qCAAqC;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../src/reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,wBAAwB,GAAG;;;;;;cAMnB,CAAC;AAEf,MAAM,yBAAyB,GAAG;;;;;;cAMpB,CAAC;AAEf,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAwB,EACxB,UAAkB;IAElB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,4EAA4E;QAC5E,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,OAAO,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;QACxD,6CAA6C;QAC7C,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,GAAG,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvE,OAAO,MAAM,CAAC,cAAc,IAAI,yBAAyB,CAAC;IAC5D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAmC,EACnC,MAAwB;IAExB,mCAAmC;IACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAElC,oEAAoE;QACpE,+DAA+D;QAC/D,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1E,OAAO;YACL,MAAM,EAAE,GAAG,IAAI,OAAO,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU;YAChC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,yBAAyB,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;IACP,qCAAqC;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -4,6 +4,24 @@
4
4
  * and builds system prompt injections.
5
5
  */
6
6
  import type { SkillMeta, SkillContent, SkillsConfig, SkillRequirements } from './types.js';
7
+ /**
8
+ * Strip HTML comments from skill content.
9
+ *
10
+ * HTML comments (<!-- ... -->) are invisible when Markdown is rendered
11
+ * but processed verbatim by the LLM. This is the primary attack vector
12
+ * described in "When Skills Lie: Hidden-Comment Injection in LLM Agents"
13
+ * (arxiv, 2024).
14
+ */
15
+ export declare function stripHtmlComments(content: string): string;
16
+ /**
17
+ * Sanitize skill body content before it is injected into the system prompt.
18
+ *
19
+ * Pipeline:
20
+ * 1. Reject oversized content (size cap)
21
+ * 2. Strip HTML comments (primary injection vector)
22
+ * 3. Filter text-level injection phrases
23
+ */
24
+ export declare function sanitizeSkillContent(body: string): string;
7
25
  export interface ParsedSkillFrontmatter {
8
26
  name?: string;
9
27
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqBxF,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAwF7E;AA6BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAkErF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CASlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CA4CnE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAiBtE;AAMD,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR,iBAAiB,EAAE,CAkCrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAgCzD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAWxF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAaD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAmBD,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAwF7E;AA6BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAkErF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CASlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CA4CnE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAyBtE;AAMD,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR,iBAAiB,EAAE,CAkCrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAgCzD"}