@owlmeans/llm 0.1.15 → 0.1.16

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 (99) hide show
  1. package/README.md +3 -4
  2. package/agent-meta/manifest.json +9 -9
  3. package/agent-meta/skills/llm/SKILL.md +54 -4
  4. package/agent-meta/skills/llm-prompt-caching/SKILL.md +135 -0
  5. package/build/consts.d.ts +36 -3
  6. package/build/consts.d.ts.map +1 -1
  7. package/build/consts.js +37 -4
  8. package/build/consts.js.map +1 -1
  9. package/build/execution/service.d.ts.map +1 -1
  10. package/build/execution/service.js +8 -3
  11. package/build/execution/service.js.map +1 -1
  12. package/build/execution/types.d.ts +20 -1
  13. package/build/execution/types.d.ts.map +1 -1
  14. package/build/execution/utils.d.ts +12 -1
  15. package/build/execution/utils.d.ts.map +1 -1
  16. package/build/execution/utils.js +22 -0
  17. package/build/execution/utils.js.map +1 -1
  18. package/build/helpers/cache.d.ts +17 -0
  19. package/build/helpers/cache.d.ts.map +1 -0
  20. package/build/helpers/cache.js +22 -0
  21. package/build/helpers/cache.js.map +1 -0
  22. package/build/helpers/index.d.ts +1 -0
  23. package/build/helpers/index.d.ts.map +1 -1
  24. package/build/helpers/index.js +1 -0
  25. package/build/helpers/index.js.map +1 -1
  26. package/build/helpers/spectate.d.ts.map +1 -1
  27. package/build/helpers/spectate.js +7 -0
  28. package/build/helpers/spectate.js.map +1 -1
  29. package/build/index.d.ts +1 -0
  30. package/build/index.d.ts.map +1 -1
  31. package/build/index.js +1 -0
  32. package/build/index.js.map +1 -1
  33. package/build/model.d.ts +1 -1
  34. package/build/model.d.ts.map +1 -1
  35. package/build/model.js +90 -16
  36. package/build/model.js.map +1 -1
  37. package/build/plugins/anthropic.d.ts.map +1 -1
  38. package/build/plugins/anthropic.js +136 -21
  39. package/build/plugins/anthropic.js.map +1 -1
  40. package/build/plugins/openai.d.ts +9 -0
  41. package/build/plugins/openai.d.ts.map +1 -1
  42. package/build/plugins/openai.js +23 -1
  43. package/build/plugins/openai.js.map +1 -1
  44. package/build/plugins/types.d.ts +38 -5
  45. package/build/plugins/types.d.ts.map +1 -1
  46. package/build/prompt/index.d.ts +5 -0
  47. package/build/prompt/index.d.ts.map +1 -0
  48. package/build/prompt/index.js +4 -0
  49. package/build/prompt/index.js.map +1 -0
  50. package/build/prompt/plugins.d.ts +24 -0
  51. package/build/prompt/plugins.d.ts.map +1 -0
  52. package/build/prompt/plugins.js +64 -0
  53. package/build/prompt/plugins.js.map +1 -0
  54. package/build/prompt/render.d.ts +28 -0
  55. package/build/prompt/render.d.ts.map +1 -0
  56. package/build/prompt/render.js +39 -0
  57. package/build/prompt/render.js.map +1 -0
  58. package/build/prompt/service.d.ts +16 -0
  59. package/build/prompt/service.d.ts.map +1 -0
  60. package/build/prompt/service.js +145 -0
  61. package/build/prompt/service.js.map +1 -0
  62. package/build/prompt/types.d.ts +101 -0
  63. package/build/prompt/types.d.ts.map +1 -0
  64. package/build/prompt/types.js +2 -0
  65. package/build/prompt/types.js.map +1 -0
  66. package/build/service.d.ts.map +1 -1
  67. package/build/service.js +3 -0
  68. package/build/service.js.map +1 -1
  69. package/build/types.d.ts +53 -3
  70. package/build/types.d.ts.map +1 -1
  71. package/build/utils/prompt.d.ts +14 -0
  72. package/build/utils/prompt.d.ts.map +1 -1
  73. package/build/utils/prompt.js +32 -0
  74. package/build/utils/prompt.js.map +1 -1
  75. package/package.json +13 -6
  76. package/src/consts.ts +43 -5
  77. package/src/execution/service.ts +9 -3
  78. package/src/execution/types.ts +21 -2
  79. package/src/execution/utils.ts +28 -1
  80. package/src/helpers/cache.ts +33 -0
  81. package/src/helpers/index.ts +1 -0
  82. package/src/helpers/spectate.ts +10 -0
  83. package/src/index.ts +1 -0
  84. package/src/model.ts +119 -16
  85. package/src/plugins/anthropic.ts +159 -20
  86. package/src/plugins/openai.ts +26 -1
  87. package/src/plugins/types.ts +42 -5
  88. package/src/prompt/index.ts +5 -0
  89. package/src/prompt/plugins.ts +69 -0
  90. package/src/prompt/render.ts +48 -0
  91. package/src/prompt/service.ts +194 -0
  92. package/src/prompt/types.ts +114 -0
  93. package/src/service.ts +3 -0
  94. package/src/types.ts +54 -3
  95. package/src/utils/prompt.ts +33 -0
  96. package/tests/execution.spec.ts +42 -0
  97. package/tests/plugins.spec.ts +279 -14
  98. package/tests/prompt.spec.ts +194 -0
  99. package/agent-meta/instructions/llm.instructions.md +0 -66
@@ -1,8 +1,19 @@
1
- import type { ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch, ModelPolicy, ModelRole, TaskExecutionState } from '@owlmeans/llm-common';
1
+ import type { ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState } from '@owlmeans/llm-common';
2
2
  import type { Execution, TaskExecution } from './types.js';
3
3
  export declare const freeze: <T extends object>(o: T) => Readonly<T>;
4
4
  /** Overlay a partial policy onto a base one. Override maps are merged, not replaced. */
5
5
  export declare const mergePolicy: (base: ModelPolicy, patch: Partial<ModelPolicy>) => ModelPolicy;
6
+ /**
7
+ * Overlay a prompt policy onto the one inherited from the parent level.
8
+ *
9
+ * Skills ACCUMULATE — a task adds to what the project declared, a helper adds to the
10
+ * task — because that is how a capability set is built up as work narrows. The role is
11
+ * replaced instead: the deepest level that names one owns the persona.
12
+ *
13
+ * The union preserves first-seen order and de-duplicates, so the composed prompt is
14
+ * byte-identical no matter how many levels contributed the same skill.
15
+ */
16
+ export declare const mergePrompt: (base: PromptPolicy | undefined, patch: PromptPolicy | undefined) => PromptPolicy | undefined;
6
17
  /** Apply the policy's role→role remap. */
7
18
  export declare const resolveRole: (policy: ModelPolicy, role: ModelRole) => ModelRole;
8
19
  export declare const effortPatch: (effort: ExecutionEffort) => ModelConfigPatch;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EACtE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAC3C,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,KAAG,QAAQ,CAAC,CAAC,CAAqB,CAAA;AAE/E,wFAAwF;AACxF,eAAO,MAAM,WAAW,GAAI,MAAM,WAAW,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,KAAG,WAQ3E,CAAA;AAEF,0CAA0C;AAC1C,eAAO,MAAM,WAAW,GAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,KAAG,SACF,CAAA;AAEjE,eAAO,MAAM,WAAW,GAAI,QAAQ,eAAe,KAAG,gBAAwC,CAAA;AAE9F,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,GAAI,UAAU,mBAAmB,KAAG,gBACH,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,gBAAgB,EAC5B,gBAAgB,mBAAmB,GAAG,SAAS,EAC/C,cAAc,mBAAmB,GAAG,SAAS,KAC5C,gBAIF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,EAAE,kBAAkB,MAAM,EAAE,KAAG,cAQ9E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,aAAa,EAAE,kBAAkB,MAAM,EAAE,KAAG,kBAWlF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EACtE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EACzD,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,KAAG,QAAQ,CAAC,CAAC,CAAqB,CAAA;AAE/E,wFAAwF;AACxF,eAAO,MAAM,WAAW,GAAI,MAAM,WAAW,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,KAAG,WAQ3E,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,YAAY,GAAG,SAAS,EAC9B,OAAO,YAAY,GAAG,SAAS,KAC9B,YAAY,GAAG,SAYjB,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,WAAW,GAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,KAAG,SACF,CAAA;AAEjE,eAAO,MAAM,WAAW,GAAI,QAAQ,eAAe,KAAG,gBAAwC,CAAA;AAE9F,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,GAAI,UAAU,mBAAmB,KAAG,gBACH,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,gBAAgB,EAC5B,gBAAgB,mBAAmB,GAAG,SAAS,EAC/C,cAAc,mBAAmB,GAAG,SAAS,KAC5C,gBAIF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,EAAE,kBAAkB,MAAM,EAAE,KAAG,cAQ9E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,aAAa,EAAE,kBAAkB,MAAM,EAAE,KAAG,kBAWlF,CAAA"}
@@ -11,6 +11,28 @@ export const mergePolicy = (base, patch) => ({
11
11
  ? { ...base.modelOverrides, ...patch.modelOverrides }
12
12
  : undefined,
13
13
  });
14
+ /**
15
+ * Overlay a prompt policy onto the one inherited from the parent level.
16
+ *
17
+ * Skills ACCUMULATE — a task adds to what the project declared, a helper adds to the
18
+ * task — because that is how a capability set is built up as work narrows. The role is
19
+ * replaced instead: the deepest level that names one owns the persona.
20
+ *
21
+ * The union preserves first-seen order and de-duplicates, so the composed prompt is
22
+ * byte-identical no matter how many levels contributed the same skill.
23
+ */
24
+ export const mergePrompt = (base, patch) => {
25
+ if (base == null && patch == null) {
26
+ return undefined;
27
+ }
28
+ const skills = [...new Set([...(base?.skills ?? []), ...(patch?.skills ?? [])])];
29
+ return {
30
+ ...base,
31
+ ...patch,
32
+ ...(base?.role != null || patch?.role != null ? { role: patch?.role ?? base?.role } : {}),
33
+ ...(skills.length > 0 ? { skills } : {}),
34
+ };
35
+ };
14
36
  /** Apply the policy's role→role remap. */
15
37
  export const resolveRole = (policy, role) => policy.roleOverrides?.[role] ?? role;
16
38
  export const effortPatch = (effort) => EFFORT_TABLE[effort];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { UsageMetadata } from '@langchain/core/messages';
2
+ import type { CacheUsage } from '@owlmeans/llm-common';
3
+ /**
4
+ * Prompt-cache accounting for one completion.
5
+ *
6
+ * This is the only honest answer to "is caching actually working". A composed prefix can
7
+ * look perfectly stable and still miss on every call — a stray timestamp, a set iterated
8
+ * in a different order, a tool list rebuilt per request. If `read` stays at zero across
9
+ * repeated calls that share a prefix, something is invalidating it; diff the rendered
10
+ * blocks between two calls to find out what.
11
+ */
12
+ export declare const readCacheUsage: (message: {
13
+ usage_metadata?: UsageMetadata;
14
+ }) => CacheUsage;
15
+ /** `true` when the provider reported any cache activity at all. */
16
+ export declare const hasCacheActivity: (usage: CacheUsage) => boolean;
17
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/helpers/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQtD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS;IAAE,cAAc,CAAC,EAAE,aAAa,CAAA;CAAE,KAAG,UAU5E,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,GAAI,OAAO,UAAU,KAAG,OACf,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Prompt-cache accounting for one completion.
3
+ *
4
+ * This is the only honest answer to "is caching actually working". A composed prefix can
5
+ * look perfectly stable and still miss on every call — a stray timestamp, a set iterated
6
+ * in a different order, a tool list rebuilt per request. If `read` stays at zero across
7
+ * repeated calls that share a prefix, something is invalidating it; diff the rendered
8
+ * blocks between two calls to find out what.
9
+ */
10
+ export const readCacheUsage = (message) => {
11
+ const usage = message.usage_metadata;
12
+ const details = usage?.input_token_details;
13
+ return {
14
+ read: details?.cache_read ?? 0,
15
+ creation: details?.cache_creation ?? 0,
16
+ input: usage?.input_tokens ?? 0,
17
+ output: usage?.output_tokens ?? 0,
18
+ };
19
+ };
20
+ /** `true` when the provider reported any cache activity at all. */
21
+ export const hasCacheActivity = (usage) => usage.read > 0 || usage.creation > 0;
22
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/helpers/cache.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA2C,EAAc,EAAE;IACxF,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAA;IACpC,MAAM,OAAO,GAAG,KAAK,EAAE,mBAAoD,CAAA;IAE3E,OAAO;QACL,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC;QAC9B,QAAQ,EAAE,OAAO,EAAE,cAAc,IAAI,CAAC;QACtC,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;KAClC,CAAA;AACH,CAAC,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAW,EAAE,CAC7D,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA"}
@@ -2,4 +2,5 @@ export * from './retry.js';
2
2
  export * from './json.js';
3
3
  export * from './messages.js';
4
4
  export * from './spectate.js';
5
+ export * from './cache.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
@@ -2,4 +2,5 @@ export * from './retry.js';
2
2
  export * from './json.js';
3
3
  export * from './messages.js';
4
4
  export * from './spectate.js';
5
+ export * from './cache.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"spectate.d.ts","sourceRoot":"","sources":["../../src/helpers/spectate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA8B/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,YAAY,EAAE,UAAU,MAAM,MAE9D,OAAO,cAAc,EAAE,EACvB,SAAS,SAAS,EAClB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,YAAY,MAAM,iEAsBnB,CAAA"}
1
+ {"version":3,"file":"spectate.d.ts","sourceRoot":"","sources":["../../src/helpers/spectate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA+B/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,YAAY,EAAE,UAAU,MAAM,MAE9D,OAAO,cAAc,EAAE,EACvB,SAAS,SAAS,EAClB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,YAAY,MAAM,iEA+BnB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { BaseMessage } from '@langchain/core/messages';
2
2
  import { SpectatorContentType } from '@owlmeans/llm-common';
3
+ import { hasCacheActivity, readCacheUsage } from './cache.js';
3
4
  /** Normalize one prompt message into the spectator's storage shape. */
4
5
  const describeInput = (msg, callType) => {
5
6
  const entry = {
@@ -49,6 +50,12 @@ export const spectate = (spectator, callType) => async (input, message, action,
49
50
  else {
50
51
  completion.content = message.content;
51
52
  }
53
+ // Silent unless the provider reported cache activity, so it costs nothing when
54
+ // caching is off — and is the one signal that tells a stable prefix from a broken one.
55
+ const cache = readCacheUsage(message);
56
+ if (hasCacheActivity(cache)) {
57
+ console.log(`Prompt cache [${action}]: read ${cache.read}, written ${cache.creation}, uncached ${cache.input}`);
58
+ }
52
59
  return spectator.log({ action, retries, startedAt, messages: [...messages, completion] });
53
60
  };
54
61
  //# sourceMappingURL=spectate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spectate.js","sourceRoot":"","sources":["../../src/helpers/spectate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spectate.js","sourceRoot":"","sources":["../../src/helpers/spectate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7D,uEAAuE;AACvE,MAAM,aAAa,GAAG,CAAC,GAAmB,EAAE,QAAgB,EAAyB,EAAE;IACrF,MAAM,KAAK,GAA0B;QACnC,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,oBAAoB,CAAC,IAAI;KACvC,CAAA;IAED,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACrB,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAA4B,CAAA;QAChD,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACrB,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA;QAC3G,KAAK,CAAC,KAAK,GAAG,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,cAA+B,CAAC,CAAC,CAAC,SAAS,CAAA;QACvF,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjG,CAAC;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAc,IAAI,SAAS,CAAA;QAC5C,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAiB,IAAI,GAAwB,CAAA;QACjE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,OAAO,GAAG,GAAwB,CAAA;QACxC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAuB,EAAE,QAAgB,EAAE,EAAE,CACpE,KAAK,EACH,KAAuB,EACvB,OAAkB,EAClB,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,EAAE;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE/D,MAAM,UAAU,GAA0B;QACxC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ;QACR,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI;QACxG,KAAK,EAAE,OAAO,CAAC,cAAc;QAC7B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5F,CAAA;IAED,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,UAA+B,CAAA;QAC5D,UAAU,CAAC,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAA;IACxD,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAA4B,CAAA;IAC3D,CAAC;IAED,+EAA+E;IAC/E,uFAAuF;IACvF,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,iBAAiB,MAAM,WAAW,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,KAAK,EAAE,CACnG,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;AAC3F,CAAC,CAAA"}
package/build/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './model.js';
5
5
  export * from './service.js';
6
6
  export * from './helpers/index.js';
7
7
  export * from './execution/index.js';
8
+ export * from './prompt/index.js';
8
9
  export type * from './plugins/types.js';
9
10
  export { plugins, registerLlmPlugin, pluginOf, pluginFor, resolvePlugin } from './plugins/index.js';
10
11
  export { anthropicPlugin, ANTHROPIC_FAMILY } from './plugins/anthropic.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,mBAAmB,oBAAoB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,mBAAmB,oBAAoB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
package/build/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './model.js';
4
4
  export * from './service.js';
5
5
  export * from './helpers/index.js';
6
6
  export * from './execution/index.js';
7
+ export * from './prompt/index.js';
7
8
  export { plugins, registerLlmPlugin, pluginOf, pluginFor, resolvePlugin } from './plugins/index.js';
8
9
  export { anthropicPlugin, ANTHROPIC_FAMILY } from './plugins/anthropic.js';
9
10
  export { compatiblePlugin } from './plugins/compatible.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAE3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAE3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
package/build/model.d.ts CHANGED
@@ -8,5 +8,5 @@ import type { LlmModel, LlmModelOptions, LlmSpectator } from './types.js';
8
8
  * provider-independent parts: streaming under an idle deadline, retry/fallback
9
9
  * escalation, schema validation and coercion, spectator logging, and null diagnostics.
10
10
  */
11
- export declare const makeLlmModel: ({ model, outputErrors, captureNull, retries, purpose, }: LlmModelOptions, spectator: LlmSpectator) => LlmModel;
11
+ export declare const makeLlmModel: ({ model, outputErrors, captureNull, retries, purpose, prompt, prompts, files, }: LlmModelOptions, spectator: LlmSpectator) => LlmModel;
12
12
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACuB,QAAQ,EAAE,eAAe,EAC1D,YAAY,EACb,MAAM,YAAY,CAAA;AAInB;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,yDAM1B,eAAe,EAAE,WAAW,YAAY,KAAG,QA6U7C,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACuB,QAAQ,EAAE,eAAe,EAC1D,YAAY,EACb,MAAM,YAAY,CAAA;AA8CnB;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,iFAS1B,eAAe,EAAE,WAAW,YAAY,KAAG,QAuY7C,CAAA"}
package/build/model.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Ajv } from 'ajv';
2
- import { AIMessage } from '@langchain/core/messages';
2
+ import { AIMessage, BaseMessage } from '@langchain/core/messages';
3
3
  import { StructuredMode } from '@owlmeans/llm-common';
4
- import { DEFAULT_MAX_OUTPUT_CAP, DEFAULT_MODEL_RETRIES, FALLBACK_AFTER_ATTEMPTS, } from './consts.js';
4
+ import { DEFAULT_MAX_OUTPUT_CAP, DEFAULT_MODEL_RETRIES, FALLBACK_AFTER_ATTEMPTS, MAX_CACHE_BREAKPOINTS, } from './consts.js';
5
5
  import { LlmModelError } from './errors.js';
6
6
  import { pluginFor, pluginOf } from './plugins/index.js';
7
7
  import { coerceToSchema, parseJsonContent } from './helpers/json.js';
@@ -10,9 +10,46 @@ import { withRetry } from './helpers/retry.js';
10
10
  import { spectate } from './helpers/spectate.js';
11
11
  import { idleTimeout, readConfig } from './utils/config.js';
12
12
  import { reportNull } from './utils/null-report.js';
13
- import { applyNoThink, ensureJsonMention } from './utils/prompt.js';
13
+ import { applyNoThink, ensureJsonMention, stripCacheMarkers } from './utils/prompt.js';
14
14
  import { resolveSchemaValidator, toToolName, unwrapNamed } from './utils/schema.js';
15
15
  import { streamWithDeadline } from './utils/stream.js';
16
+ const isSystem = (msg) => msg instanceof BaseMessage ? msg.getType() === 'system' : `${msg.role}` === 'system';
17
+ const textOf = (content) => {
18
+ if (typeof content === 'string') {
19
+ return content.trim();
20
+ }
21
+ if (Array.isArray(content)) {
22
+ return content
23
+ .map(part => {
24
+ const text = part.text;
25
+ return typeof text === 'string' ? text : '';
26
+ })
27
+ .filter(text => text !== '')
28
+ .join('\n\n')
29
+ .trim();
30
+ }
31
+ return '';
32
+ };
33
+ /**
34
+ * Detach the caller's LEADING system messages and return their text.
35
+ *
36
+ * They are re-emitted as the `Context` block of the composed prompt, which is what keeps
37
+ * a caller that still builds its own `SystemMessage` working unchanged — the text simply
38
+ * travels a different route and lands in the same place. Only the leading run is taken:
39
+ * a system message deliberately placed mid-conversation is an operator instruction whose
40
+ * position carries meaning, and moving it would change what the model sees.
41
+ */
42
+ const takeLeadingSystem = (msgs) => {
43
+ const carried = [];
44
+ while (msgs.length > 0 && isSystem(msgs[0])) {
45
+ const [msg] = msgs.splice(0, 1);
46
+ const text = textOf(msg.content);
47
+ if (text !== '') {
48
+ carried.push(text);
49
+ }
50
+ }
51
+ return carried;
52
+ };
16
53
  /**
17
54
  * Build the four-method model API on top of a LangChain chat model.
18
55
  *
@@ -22,22 +59,59 @@ import { streamWithDeadline } from './utils/stream.js';
22
59
  * provider-independent parts: streaming under an idle deadline, retry/fallback
23
60
  * escalation, schema validation and coercion, spectator logging, and null diagnostics.
24
61
  */
25
- export const makeLlmModel = ({ model, outputErrors = false, captureNull = false, retries = DEFAULT_MODEL_RETRIES, purpose, }, spectator) => {
62
+ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false, retries = DEFAULT_MODEL_RETRIES, purpose, prompt, prompts, files, }, spectator) => {
26
63
  const ajv = new Ajv({ strict: false });
27
64
  // The original config and its plugin are static per model instance: a REFINED instance
28
65
  // is rebuilt from `lc_kwargs` and does not reliably carry the metadata back.
29
66
  const config = readConfig(model);
30
67
  const plugin = pluginOf(config.provider) ?? pluginFor(model);
31
68
  const timeout = idleTimeout(config);
32
- /** Normalize, then apply every in-place prompt adaptation, in dependency order. */
33
- const prepare = (input, useCache, cacheMax, json) => {
69
+ /**
70
+ * Normalize, compose the system prompt, then apply every in-place prompt adaptation, in
71
+ * dependency order.
72
+ *
73
+ * With no prompt service wired this is exactly what it always was — the caller's
74
+ * messages, a JSON nudge, `/no_think`, cache markers. With one, the caller's leading
75
+ * system text is folded into a composed prompt whose stable sections come first, which
76
+ * is the whole point: a prompt cache is a PREFIX match, so the bytes every call shares
77
+ * have to be physically ahead of the bytes that differ.
78
+ */
79
+ const prepare = async (input, action, useCache, cacheMax, json, callSkills) => {
34
80
  const msgs = normalizeInput(input);
81
+ // The caller may hand back messages this pipeline marked on a PREVIOUS call — the
82
+ // markers live on its own objects. The budget is per request, so clear them and
83
+ // re-place our own below; otherwise they accumulate until the provider 400s.
84
+ stripCacheMarkers(msgs);
85
+ let reserved = 0;
86
+ if (prompts != null) {
87
+ const carried = takeLeadingSystem(msgs);
88
+ const composed = await prompts().compose({
89
+ ...prompt,
90
+ context: [...(prompt?.context ?? []), ...carried],
91
+ callSkills: callSkills ?? prompt?.callSkills,
92
+ }, msgs, { model, provider: plugin, purpose, action, cacheMax, files });
93
+ if (composed.system != null) {
94
+ msgs.unshift(composed.system);
95
+ reserved = composed.breakpoints;
96
+ }
97
+ else {
98
+ // Defensive: nothing was contributed, so hand the caller's own text straight back.
99
+ for (let i = carried.length - 1; i >= 0; i--) {
100
+ msgs.unshift({ role: 'system', content: carried[i] });
101
+ }
102
+ }
103
+ }
35
104
  if (json)
36
105
  ensureJsonMention(msgs);
37
106
  applyNoThink(msgs, config.disableThinking);
38
107
  // Cache markers replace string content with content blocks, so they must go last.
39
- if (plugin?.patchCache?.(msgs, { model, useCache, cacheMax }) === true) {
40
- console.log(`Prompt caching enabled for ${plugin.type} (up to ${cacheMax} breakpoints)`);
108
+ const ttl = prompt?.cacheTtl;
109
+ const marked = plugin?.patchCache?.(msgs, {
110
+ model, useCache, cacheMax, reserved, ...(ttl != null ? { ttl } : {}),
111
+ });
112
+ if (reserved > 0 || marked === true) {
113
+ console.log(`Prompt caching for ${plugin?.type}: ${reserved} system breakpoint(s)`
114
+ + `${marked === true ? ', 1 message breakpoint' : ''}`);
41
115
  }
42
116
  return msgs;
43
117
  };
@@ -145,8 +219,8 @@ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false,
145
219
  return { piece, result, mode };
146
220
  };
147
221
  const helper = {
148
- ask: async (input, { ref, filter, action, useCache = false, cacheMax = 4 }) => {
149
- const msgs = prepare(input, useCache, cacheMax, false);
222
+ ask: async (input, { ref, filter, action, useCache = false, cacheMax = MAX_CACHE_BREAKPOINTS, skills }) => {
223
+ const msgs = await prepare(input, action, useCache, cacheMax, false, skills);
150
224
  return withRetry({ retries, outputErrors }, async (i) => {
151
225
  const refined = refineModel(i);
152
226
  console.log('Use model to ask: ', refined.getName(), refined.lc_kwargs.model);
@@ -183,8 +257,8 @@ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false,
183
257
  return output;
184
258
  });
185
259
  },
186
- talk: async (input, { ref, filter, action, useCache = false, cacheMax = 4 }) => {
187
- const msgs = prepare(input, useCache, cacheMax, false);
260
+ talk: async (input, { ref, filter, action, useCache = false, cacheMax = MAX_CACHE_BREAKPOINTS, skills }) => {
261
+ const msgs = await prepare(input, action, useCache, cacheMax, false, skills);
188
262
  return withRetry({ retries, outputErrors }, async (i) => {
189
263
  const refined = refineModel(i);
190
264
  console.log('Use model to talk: ', refined.getName(), refined.lc_kwargs.model);
@@ -210,8 +284,8 @@ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false,
210
284
  return message;
211
285
  });
212
286
  },
213
- invoke: async (input, schema, { temperature, ref, filter, action, useCache = false, cacheMax = 4 }) => {
214
- const msgs = prepare(input, useCache, cacheMax, true);
287
+ invoke: async (input, schema, { temperature, ref, filter, action, useCache = false, cacheMax = MAX_CACHE_BREAKPOINTS, skills }) => {
288
+ const msgs = await prepare(input, action, useCache, cacheMax, true, skills);
215
289
  const { name, innerSchema, validate } = resolveSchemaValidator(ajv, schema);
216
290
  const toolName = toToolName(innerSchema.title ?? name);
217
291
  return withRetry({ retries, outputErrors }, async (i) => {
@@ -248,8 +322,8 @@ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false,
248
322
  return result;
249
323
  });
250
324
  },
251
- request: async (input, schema, { ref, filter, action, useCache = false, cacheMax = 4 }) => {
252
- const msgs = prepare(input, useCache, cacheMax, true);
325
+ request: async (input, schema, { ref, filter, action, useCache = false, cacheMax = MAX_CACHE_BREAKPOINTS, skills }) => {
326
+ const msgs = await prepare(input, action, useCache, cacheMax, true, skills);
253
327
  const { name, innerSchema, validate } = resolveSchemaValidator(ajv, schema);
254
328
  const toolName = toToolName(innerSchema.title ?? name);
255
329
  return withRetry({ retries, outputErrors }, async (i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/plugins/anthropic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAO3C,eAAO,MAAM,gBAAgB,cAAc,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,SAmF7B,CAAA"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/plugins/anthropic.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAQ3C,eAAO,MAAM,gBAAgB,cAAc,CAAA;AA4D3C,eAAO,MAAM,eAAe,EAAE,SAiK7B,CAAA"}