@agentick/shared 0.0.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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +322 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/.tsbuildinfo.build +1 -0
  5. package/dist/block-types.d.ts +85 -0
  6. package/dist/block-types.d.ts.map +1 -0
  7. package/dist/block-types.js +98 -0
  8. package/dist/block-types.js.map +1 -0
  9. package/dist/blocks.d.ts +396 -0
  10. package/dist/blocks.d.ts.map +1 -0
  11. package/dist/blocks.js +209 -0
  12. package/dist/blocks.js.map +1 -0
  13. package/dist/devtools.d.ts +672 -0
  14. package/dist/devtools.d.ts.map +1 -0
  15. package/dist/devtools.js +445 -0
  16. package/dist/devtools.js.map +1 -0
  17. package/dist/errors.d.ts +335 -0
  18. package/dist/errors.d.ts.map +1 -0
  19. package/dist/errors.js +529 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/identity.d.ts +99 -0
  22. package/dist/identity.d.ts.map +1 -0
  23. package/dist/identity.js +116 -0
  24. package/dist/identity.js.map +1 -0
  25. package/dist/index.d.ts +56 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +56 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/input.d.ts +55 -0
  30. package/dist/input.d.ts.map +1 -0
  31. package/dist/input.js +83 -0
  32. package/dist/input.js.map +1 -0
  33. package/dist/messages.d.ts +98 -0
  34. package/dist/messages.d.ts.map +1 -0
  35. package/dist/messages.js +81 -0
  36. package/dist/messages.js.map +1 -0
  37. package/dist/model-catalog.d.ts +144 -0
  38. package/dist/model-catalog.d.ts.map +1 -0
  39. package/dist/model-catalog.js +861 -0
  40. package/dist/model-catalog.js.map +1 -0
  41. package/dist/models.d.ts +173 -0
  42. package/dist/models.d.ts.map +1 -0
  43. package/dist/models.js +10 -0
  44. package/dist/models.js.map +1 -0
  45. package/dist/protocol.d.ts +257 -0
  46. package/dist/protocol.d.ts.map +1 -0
  47. package/dist/protocol.js +41 -0
  48. package/dist/protocol.js.map +1 -0
  49. package/dist/streaming.d.ts +635 -0
  50. package/dist/streaming.d.ts.map +1 -0
  51. package/dist/streaming.js +134 -0
  52. package/dist/streaming.js.map +1 -0
  53. package/dist/testing/fixtures.d.ts +250 -0
  54. package/dist/testing/fixtures.d.ts.map +1 -0
  55. package/dist/testing/fixtures.js +827 -0
  56. package/dist/testing/fixtures.js.map +1 -0
  57. package/dist/testing/helpers.d.ts +95 -0
  58. package/dist/testing/helpers.d.ts.map +1 -0
  59. package/dist/testing/helpers.js +271 -0
  60. package/dist/testing/helpers.js.map +1 -0
  61. package/dist/testing/index.d.ts +42 -0
  62. package/dist/testing/index.d.ts.map +1 -0
  63. package/dist/testing/index.js +70 -0
  64. package/dist/testing/index.js.map +1 -0
  65. package/dist/timeline.d.ts +59 -0
  66. package/dist/timeline.d.ts.map +1 -0
  67. package/dist/timeline.js +11 -0
  68. package/dist/timeline.js.map +1 -0
  69. package/dist/tools.d.ts +220 -0
  70. package/dist/tools.d.ts.map +1 -0
  71. package/dist/tools.js +63 -0
  72. package/dist/tools.js.map +1 -0
  73. package/dist/utils/entity-ids.d.ts +26 -0
  74. package/dist/utils/entity-ids.d.ts.map +1 -0
  75. package/dist/utils/entity-ids.js +44 -0
  76. package/dist/utils/entity-ids.js.map +1 -0
  77. package/dist/utils/index.d.ts +3 -0
  78. package/dist/utils/index.d.ts.map +1 -0
  79. package/dist/utils/index.js +3 -0
  80. package/dist/utils/index.js.map +1 -0
  81. package/dist/utils/merge-deep.d.ts +10 -0
  82. package/dist/utils/merge-deep.d.ts.map +1 -0
  83. package/dist/utils/merge-deep.js +33 -0
  84. package/dist/utils/merge-deep.js.map +1 -0
  85. package/package.json +84 -0
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Model Catalog
3
+ *
4
+ * Reference data for known models including context windows and capabilities.
5
+ * This is a best-effort catalog - actual limits may change.
6
+ *
7
+ * Architecture:
8
+ * - MODEL_CATALOG is static reference data (defaults)
9
+ * - Adapters are source of truth and can override via ModelMetadata
10
+ * - Runtime additions via registerModel() for dynamic discovery
11
+ * - Lookup order: runtime > static catalog
12
+ *
13
+ * Sources (as of February 2026):
14
+ * - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
15
+ * - OpenAI: https://platform.openai.com/docs/models
16
+ * - Google: https://ai.google.dev/gemini-api/docs/models
17
+ * - Mistral: https://mistral.ai/models
18
+ * - Meta: https://www.llama.com/models/llama-4/
19
+ */
20
+ export interface ModelInfo {
21
+ /** Display name */
22
+ name: string;
23
+ /** Provider name */
24
+ provider: string;
25
+ /** Context window size in tokens */
26
+ contextWindow: number;
27
+ /** Max output tokens (if different from context window) */
28
+ maxOutputTokens?: number;
29
+ /** Model release/version date */
30
+ releaseDate?: string;
31
+ /** Whether the model supports vision/images */
32
+ supportsVision?: boolean;
33
+ /** Whether the model supports tool use */
34
+ supportsToolUse?: boolean;
35
+ /** Whether this is a reasoning model (extended thinking) */
36
+ isReasoningModel?: boolean;
37
+ }
38
+ /**
39
+ * Register a model at runtime.
40
+ * Use this for models discovered dynamically or provided by adapters.
41
+ *
42
+ * @param modelId - The model ID
43
+ * @param info - Model information
44
+ */
45
+ export declare function registerModel(modelId: string, info: ModelInfo): void;
46
+ /**
47
+ * Register multiple models at once.
48
+ *
49
+ * @param models - Map of model ID to model info
50
+ */
51
+ export declare function registerModels(models: Record<string, ModelInfo>): void;
52
+ /**
53
+ * Clear all runtime-registered models.
54
+ * Primarily for testing.
55
+ */
56
+ export declare function clearRuntimeModels(): void;
57
+ /**
58
+ * Get all runtime-registered models.
59
+ */
60
+ export declare function getRuntimeModels(): Map<string, ModelInfo>;
61
+ /**
62
+ * Known model context windows and capabilities.
63
+ *
64
+ * Keys are model IDs (case-insensitive matching recommended).
65
+ * Includes common aliases and versioned names.
66
+ *
67
+ * Last updated: February 2026
68
+ */
69
+ export declare const MODEL_CATALOG: Record<string, ModelInfo>;
70
+ /**
71
+ * Get model info by ID.
72
+ * Checks runtime registry first, then static catalog.
73
+ * Uses case-insensitive and partial matching.
74
+ *
75
+ * @param modelId - The model ID to look up
76
+ * @returns Model info or undefined if not found
77
+ */
78
+ export declare function getModelInfo(modelId: string): ModelInfo | undefined;
79
+ /**
80
+ * Get the context window size for a model.
81
+ *
82
+ * @param modelId - The model ID
83
+ * @returns Context window in tokens, or undefined if unknown
84
+ */
85
+ export declare function getContextWindow(modelId: string): number | undefined;
86
+ /**
87
+ * Calculate context utilization percentage.
88
+ *
89
+ * @param modelId - The model ID
90
+ * @param usedTokens - Number of tokens used
91
+ * @returns Utilization percentage (0-100), or undefined if model not found
92
+ */
93
+ export declare function getContextUtilization(modelId: string, usedTokens: number): number | undefined;
94
+ /**
95
+ * Format context window for display.
96
+ *
97
+ * @param tokens - Number of tokens
98
+ * @returns Formatted string like "128K" or "1M" or "10M"
99
+ */
100
+ export declare function formatContextWindow(tokens: number): string;
101
+ /**
102
+ * Create ModelInfo from partial data with sensible defaults.
103
+ * Useful for adapters that want to register models.
104
+ */
105
+ export declare function createModelInfo(partial: Partial<ModelInfo> & {
106
+ name: string;
107
+ provider: string;
108
+ }): ModelInfo;
109
+ /**
110
+ * Adapter metadata shape (partial - what adapters might provide).
111
+ * Adapters are source of truth when they provide these values.
112
+ */
113
+ export interface AdapterModelMetadata {
114
+ id?: string;
115
+ model?: string;
116
+ provider?: string;
117
+ contextWindow?: number;
118
+ maxOutputTokens?: number;
119
+ supportsVision?: boolean;
120
+ supportsToolUse?: boolean;
121
+ isReasoningModel?: boolean;
122
+ }
123
+ /**
124
+ * Get effective model info by merging adapter metadata with catalog.
125
+ *
126
+ * Priority:
127
+ * 1. Adapter-provided values (source of truth)
128
+ * 2. Runtime registry
129
+ * 3. Static MODEL_CATALOG
130
+ *
131
+ * @param adapterMetadata - Metadata from the adapter (if available)
132
+ * @param modelId - Model ID to look up in catalog (fallback)
133
+ * @returns Merged model info, or undefined if nothing found
134
+ */
135
+ export declare function getEffectiveModelInfo(adapterMetadata?: AdapterModelMetadata, modelId?: string): ModelInfo | undefined;
136
+ /**
137
+ * Get effective context window, prioritizing adapter metadata.
138
+ *
139
+ * @param adapterMetadata - Metadata from the adapter
140
+ * @param modelId - Model ID for catalog lookup
141
+ * @returns Context window size, or undefined if unknown
142
+ */
143
+ export declare function getEffectiveContextWindow(adapterMetadata?: AdapterModelMetadata, modelId?: string): number | undefined;
144
+ //# sourceMappingURL=model-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../src/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAItE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAEzD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAspBnD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAmCnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/D,SAAS,CAQX;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,CAAC,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,SAAS,GAAG,SAAS,CAiDvB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,CAAC,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAQpB"}