@contractspec/lib.ai-agent 1.61.0 → 2.0.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 (207) hide show
  1. package/dist/agent/agent-factory.d.ts +5 -1
  2. package/dist/agent/agent-factory.js +2293 -31
  3. package/dist/agent/agent.test.d.ts +0 -1
  4. package/dist/agent/contract-spec-agent.d.ts +6 -1
  5. package/dist/agent/contract-spec-agent.js +2292 -31
  6. package/dist/agent/index.d.ts +0 -1
  7. package/dist/agent/index.js +2408 -91
  8. package/dist/agent/json-runner.d.ts +1 -1
  9. package/dist/agent/json-runner.js +2326 -57
  10. package/dist/agent/json-runner.test.d.ts +0 -1
  11. package/dist/agent/unified-agent.d.ts +0 -1
  12. package/dist/agent/unified-agent.js +2374 -65
  13. package/dist/approval/index.d.ts +0 -1
  14. package/dist/approval/index.js +2122 -2
  15. package/dist/approval/workflow.d.ts +7 -2
  16. package/dist/approval/workflow.js +2122 -2
  17. package/dist/exporters/claude-agent-exporter.d.ts +0 -1
  18. package/dist/exporters/claude-agent-exporter.js +2144 -35
  19. package/dist/exporters/index.d.ts +0 -1
  20. package/dist/exporters/index.js +2193 -69
  21. package/dist/exporters/opencode-exporter.d.ts +0 -1
  22. package/dist/exporters/opencode-exporter.js +2152 -39
  23. package/dist/exporters/types.d.ts +0 -1
  24. package/dist/i18n/catalogs/en.d.ts +8 -0
  25. package/dist/i18n/catalogs/en.js +614 -0
  26. package/dist/i18n/catalogs/es.d.ts +8 -0
  27. package/dist/i18n/catalogs/es.js +663 -0
  28. package/dist/i18n/catalogs/fr.d.ts +8 -0
  29. package/dist/i18n/catalogs/fr.js +629 -0
  30. package/dist/i18n/catalogs/index.d.ts +8 -0
  31. package/dist/i18n/catalogs/index.js +1875 -0
  32. package/dist/i18n/i18n.test.d.ts +1 -0
  33. package/dist/i18n/index.d.ts +29 -0
  34. package/dist/i18n/index.js +2127 -0
  35. package/dist/i18n/keys.d.ts +552 -0
  36. package/dist/i18n/keys.js +188 -0
  37. package/dist/i18n/locale.d.ts +33 -0
  38. package/dist/i18n/locale.js +41 -0
  39. package/dist/i18n/messages.d.ts +65 -0
  40. package/dist/i18n/messages.js +1939 -0
  41. package/dist/index.d.ts +0 -13
  42. package/dist/index.js +2106 -3254
  43. package/dist/interop/index.d.ts +0 -1
  44. package/dist/interop/index.js +2182 -47
  45. package/dist/interop/spec-consumer.d.ts +0 -1
  46. package/dist/interop/spec-consumer.js +2151 -34
  47. package/dist/interop/tool-consumer.d.ts +0 -1
  48. package/dist/interop/tool-consumer.js +2122 -13
  49. package/dist/interop/types.d.ts +0 -1
  50. package/dist/knowledge/index.d.ts +0 -1
  51. package/dist/knowledge/index.js +2105 -7
  52. package/dist/knowledge/injector.d.ts +2 -3
  53. package/dist/knowledge/injector.js +2104 -7
  54. package/dist/memory/in-memory.d.ts +0 -1
  55. package/dist/memory/index.d.ts +0 -1
  56. package/dist/memory/manager.d.ts +0 -1
  57. package/dist/memory/memory.test.d.ts +0 -1
  58. package/dist/node/agent/agent-factory.js +2293 -31
  59. package/dist/node/agent/contract-spec-agent.js +2292 -31
  60. package/dist/node/agent/index.js +2408 -91
  61. package/dist/node/agent/json-runner.js +2326 -57
  62. package/dist/node/agent/unified-agent.js +2374 -65
  63. package/dist/node/approval/index.js +2122 -2
  64. package/dist/node/approval/workflow.js +2122 -2
  65. package/dist/node/exporters/claude-agent-exporter.js +2144 -35
  66. package/dist/node/exporters/index.js +2193 -69
  67. package/dist/node/exporters/opencode-exporter.js +2152 -39
  68. package/dist/node/i18n/catalogs/en.js +614 -0
  69. package/dist/node/i18n/catalogs/es.js +663 -0
  70. package/dist/node/i18n/catalogs/fr.js +629 -0
  71. package/dist/node/i18n/catalogs/index.js +1875 -0
  72. package/dist/node/i18n/index.js +2127 -0
  73. package/dist/node/i18n/keys.js +188 -0
  74. package/dist/node/i18n/locale.js +41 -0
  75. package/dist/node/i18n/messages.js +1939 -0
  76. package/dist/node/index.js +2106 -3254
  77. package/dist/node/interop/index.js +2182 -47
  78. package/dist/node/interop/spec-consumer.js +2151 -34
  79. package/dist/node/interop/tool-consumer.js +2122 -13
  80. package/dist/node/knowledge/index.js +2105 -7
  81. package/dist/node/knowledge/injector.js +2104 -7
  82. package/dist/node/providers/claude-agent-sdk/adapter.js +2143 -22
  83. package/dist/node/providers/claude-agent-sdk/index.js +2144 -22
  84. package/dist/node/providers/claude-agent-sdk/tool-bridge.js +2101 -3
  85. package/dist/node/providers/index.js +2182 -39
  86. package/dist/node/providers/opencode-sdk/adapter.js +2148 -27
  87. package/dist/node/providers/opencode-sdk/agent-bridge.js +2110 -10
  88. package/dist/node/providers/opencode-sdk/index.js +2149 -27
  89. package/dist/node/providers/opencode-sdk/tool-bridge.js +2101 -3
  90. package/dist/node/providers/registry.js +2094 -2
  91. package/dist/node/session/index.js +37 -2
  92. package/dist/node/session/store.js +37 -2
  93. package/dist/node/spec/index.js +2111 -7
  94. package/dist/node/spec/registry.js +2096 -2
  95. package/dist/node/spec/spec.js +2105 -5
  96. package/dist/node/telemetry/index.js +117 -1
  97. package/dist/node/telemetry/posthog-types.js +0 -0
  98. package/dist/node/telemetry/posthog.js +132 -0
  99. package/dist/node/tools/index.js +2117 -17
  100. package/dist/node/tools/knowledge-tool.js +2105 -11
  101. package/dist/node/tools/mcp-server.js +2101 -5
  102. package/dist/node/tools/tool-adapter.js +2093 -1
  103. package/dist/providers/claude-agent-sdk/adapter.d.ts +0 -1
  104. package/dist/providers/claude-agent-sdk/adapter.js +2143 -22
  105. package/dist/providers/claude-agent-sdk/index.d.ts +0 -1
  106. package/dist/providers/claude-agent-sdk/index.js +2144 -22
  107. package/dist/providers/claude-agent-sdk/session-bridge.d.ts +0 -1
  108. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +0 -1
  109. package/dist/providers/claude-agent-sdk/tool-bridge.js +2101 -3
  110. package/dist/providers/index.d.ts +0 -1
  111. package/dist/providers/index.js +2182 -39
  112. package/dist/providers/opencode-sdk/adapter.d.ts +0 -1
  113. package/dist/providers/opencode-sdk/adapter.js +2148 -27
  114. package/dist/providers/opencode-sdk/agent-bridge.d.ts +0 -1
  115. package/dist/providers/opencode-sdk/agent-bridge.js +2110 -10
  116. package/dist/providers/opencode-sdk/index.d.ts +0 -1
  117. package/dist/providers/opencode-sdk/index.js +2149 -27
  118. package/dist/providers/opencode-sdk/tool-bridge.d.ts +0 -1
  119. package/dist/providers/opencode-sdk/tool-bridge.js +2101 -3
  120. package/dist/providers/registry.d.ts +0 -1
  121. package/dist/providers/registry.js +2094 -2
  122. package/dist/providers/types.d.ts +0 -1
  123. package/dist/schema/index.d.ts +0 -1
  124. package/dist/schema/json-schema-to-zod.d.ts +0 -1
  125. package/dist/schema/schema-output.d.ts +0 -1
  126. package/dist/session/index.d.ts +0 -1
  127. package/dist/session/index.js +37 -2
  128. package/dist/session/store.d.ts +12 -2
  129. package/dist/session/store.js +37 -2
  130. package/dist/spec/index.d.ts +0 -1
  131. package/dist/spec/index.js +2111 -7
  132. package/dist/spec/registry.d.ts +1 -2
  133. package/dist/spec/registry.js +2096 -2
  134. package/dist/spec/spec.d.ts +5 -4
  135. package/dist/spec/spec.js +2105 -5
  136. package/dist/telemetry/adapter.d.ts +0 -1
  137. package/dist/telemetry/index.d.ts +2 -1
  138. package/dist/telemetry/index.js +117 -1
  139. package/dist/telemetry/posthog-types.d.ts +59 -0
  140. package/dist/telemetry/posthog-types.js +1 -0
  141. package/dist/telemetry/posthog.d.ts +80 -0
  142. package/dist/telemetry/posthog.js +132 -0
  143. package/dist/telemetry/posthog.test.d.ts +1 -0
  144. package/dist/tools/index.d.ts +0 -1
  145. package/dist/tools/index.js +2117 -17
  146. package/dist/tools/knowledge-tool.d.ts +1 -2
  147. package/dist/tools/knowledge-tool.js +2105 -11
  148. package/dist/tools/mcp-client.d.ts +0 -1
  149. package/dist/tools/mcp-server.d.ts +0 -1
  150. package/dist/tools/mcp-server.js +2101 -5
  151. package/dist/tools/tool-adapter.d.ts +0 -1
  152. package/dist/tools/tool-adapter.js +2093 -1
  153. package/dist/tools/tools.test.d.ts +0 -1
  154. package/dist/types.d.ts +4 -1
  155. package/package.json +166 -13
  156. package/dist/agent/agent-factory.d.ts.map +0 -1
  157. package/dist/agent/agent.test.d.ts.map +0 -1
  158. package/dist/agent/contract-spec-agent.d.ts.map +0 -1
  159. package/dist/agent/index.d.ts.map +0 -1
  160. package/dist/agent/json-runner.d.ts.map +0 -1
  161. package/dist/agent/json-runner.test.d.ts.map +0 -1
  162. package/dist/agent/unified-agent.d.ts.map +0 -1
  163. package/dist/approval/index.d.ts.map +0 -1
  164. package/dist/approval/workflow.d.ts.map +0 -1
  165. package/dist/exporters/claude-agent-exporter.d.ts.map +0 -1
  166. package/dist/exporters/index.d.ts.map +0 -1
  167. package/dist/exporters/opencode-exporter.d.ts.map +0 -1
  168. package/dist/exporters/types.d.ts.map +0 -1
  169. package/dist/index.d.ts.map +0 -1
  170. package/dist/interop/index.d.ts.map +0 -1
  171. package/dist/interop/spec-consumer.d.ts.map +0 -1
  172. package/dist/interop/tool-consumer.d.ts.map +0 -1
  173. package/dist/interop/types.d.ts.map +0 -1
  174. package/dist/knowledge/index.d.ts.map +0 -1
  175. package/dist/knowledge/injector.d.ts.map +0 -1
  176. package/dist/memory/in-memory.d.ts.map +0 -1
  177. package/dist/memory/index.d.ts.map +0 -1
  178. package/dist/memory/manager.d.ts.map +0 -1
  179. package/dist/memory/memory.test.d.ts.map +0 -1
  180. package/dist/providers/claude-agent-sdk/adapter.d.ts.map +0 -1
  181. package/dist/providers/claude-agent-sdk/index.d.ts.map +0 -1
  182. package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +0 -1
  183. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +0 -1
  184. package/dist/providers/index.d.ts.map +0 -1
  185. package/dist/providers/opencode-sdk/adapter.d.ts.map +0 -1
  186. package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +0 -1
  187. package/dist/providers/opencode-sdk/index.d.ts.map +0 -1
  188. package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +0 -1
  189. package/dist/providers/registry.d.ts.map +0 -1
  190. package/dist/providers/types.d.ts.map +0 -1
  191. package/dist/schema/index.d.ts.map +0 -1
  192. package/dist/schema/json-schema-to-zod.d.ts.map +0 -1
  193. package/dist/schema/schema-output.d.ts.map +0 -1
  194. package/dist/session/index.d.ts.map +0 -1
  195. package/dist/session/store.d.ts.map +0 -1
  196. package/dist/spec/index.d.ts.map +0 -1
  197. package/dist/spec/registry.d.ts.map +0 -1
  198. package/dist/spec/spec.d.ts.map +0 -1
  199. package/dist/telemetry/adapter.d.ts.map +0 -1
  200. package/dist/telemetry/index.d.ts.map +0 -1
  201. package/dist/tools/index.d.ts.map +0 -1
  202. package/dist/tools/knowledge-tool.d.ts.map +0 -1
  203. package/dist/tools/mcp-client.d.ts.map +0 -1
  204. package/dist/tools/mcp-server.d.ts.map +0 -1
  205. package/dist/tools/tool-adapter.d.ts.map +0 -1
  206. package/dist/tools/tools.test.d.ts.map +0 -1
  207. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,188 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true,
8
+ configurable: true,
9
+ set: (newValue) => all[name] = () => newValue
10
+ });
11
+ };
12
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
13
+ var __require = import.meta.require;
14
+
15
+ // src/i18n/keys.ts
16
+ var AGENT_KEYS, KNOWLEDGE_KEYS, TOOL_KEYS, INTEROP_KEYS, ERROR_KEYS, EXPORT_KEYS, APPROVAL_KEYS, LOG_KEYS, I18N_KEYS;
17
+ var init_keys = __esm(() => {
18
+ AGENT_KEYS = {
19
+ "agent.json.rules.validJsonOnly": "agent.json.rules.validJsonOnly",
20
+ "agent.json.rules.noMarkdownFences": "agent.json.rules.noMarkdownFences",
21
+ "agent.json.rules.noCommentary": "agent.json.rules.noCommentary",
22
+ "agent.json.rules.doubleQuotes": "agent.json.rules.doubleQuotes",
23
+ "agent.json.rules.noTrailingCommas": "agent.json.rules.noTrailingCommas",
24
+ "agent.json.defaultDescription": "agent.json.defaultDescription",
25
+ "agent.json.systemPrompt": "agent.json.systemPrompt"
26
+ };
27
+ KNOWLEDGE_KEYS = {
28
+ "knowledge.header": "knowledge.header",
29
+ "knowledge.description": "knowledge.description"
30
+ };
31
+ TOOL_KEYS = {
32
+ "tool.knowledge.description": "tool.knowledge.description",
33
+ "tool.knowledge.availableSpaces": "tool.knowledge.availableSpaces",
34
+ "tool.knowledge.spaceDefault": "tool.knowledge.spaceDefault",
35
+ "tool.knowledge.param.query": "tool.knowledge.param.query",
36
+ "tool.knowledge.param.spaceKey": "tool.knowledge.param.spaceKey",
37
+ "tool.knowledge.param.topK": "tool.knowledge.param.topK",
38
+ "tool.knowledge.noResults": "tool.knowledge.noResults",
39
+ "tool.knowledge.sourceLabel": "tool.knowledge.sourceLabel",
40
+ "tool.fallbackDescription": "tool.fallbackDescription",
41
+ "tool.mcp.param.message": "tool.mcp.param.message",
42
+ "tool.mcp.param.sessionId": "tool.mcp.param.sessionId",
43
+ "tool.mcp.agentDescription": "tool.mcp.agentDescription",
44
+ "tool.mcp.executePrompt": "tool.mcp.executePrompt",
45
+ "tool.mcp.toolDescription": "tool.mcp.toolDescription"
46
+ };
47
+ INTEROP_KEYS = {
48
+ "interop.prompt.agentIdentity": "interop.prompt.agentIdentity",
49
+ "interop.prompt.youAre": "interop.prompt.youAre",
50
+ "interop.prompt.description": "interop.prompt.description",
51
+ "interop.prompt.instructions": "interop.prompt.instructions",
52
+ "interop.prompt.availableTools": "interop.prompt.availableTools",
53
+ "interop.prompt.toolsIntro": "interop.prompt.toolsIntro",
54
+ "interop.prompt.parameters": "interop.prompt.parameters",
55
+ "interop.prompt.knowledgeContext": "interop.prompt.knowledgeContext",
56
+ "interop.prompt.additionalContext": "interop.prompt.additionalContext",
57
+ "interop.md.toc": "interop.md.toc",
58
+ "interop.md.overview": "interop.md.overview",
59
+ "interop.md.tools": "interop.md.tools",
60
+ "interop.md.knowledge": "interop.md.knowledge",
61
+ "interop.md.policy": "interop.md.policy",
62
+ "interop.md.metaKey": "interop.md.metaKey",
63
+ "interop.md.metaVersion": "interop.md.metaVersion",
64
+ "interop.md.metaStability": "interop.md.metaStability",
65
+ "interop.md.metaOwners": "interop.md.metaOwners",
66
+ "interop.md.metaTags": "interop.md.metaTags",
67
+ "interop.md.schema": "interop.md.schema",
68
+ "interop.md.automationSafe": "interop.md.automationSafe",
69
+ "interop.md.required": "interop.md.required",
70
+ "interop.md.optional": "interop.md.optional",
71
+ "interop.md.minConfidence": "interop.md.minConfidence",
72
+ "interop.md.escalationThreshold": "interop.md.escalationThreshold",
73
+ "interop.md.escalateToolFailure": "interop.md.escalateToolFailure",
74
+ "interop.md.escalateTimeout": "interop.md.escalateTimeout",
75
+ "interop.md.yes": "interop.md.yes",
76
+ "interop.md.no": "interop.md.no"
77
+ };
78
+ ERROR_KEYS = {
79
+ "error.jsonRunner.requiresModel": "error.jsonRunner.requiresModel",
80
+ "error.missingToolHandler": "error.missingToolHandler",
81
+ "error.unknownBackend": "error.unknownBackend",
82
+ "error.claudeSdk.notAvailable": "error.claudeSdk.notAvailable",
83
+ "error.claudeSdk.notInstalled": "error.claudeSdk.notInstalled",
84
+ "error.opencodeSdk.notAvailable": "error.opencodeSdk.notAvailable",
85
+ "error.opencodeSdk.notInstalled": "error.opencodeSdk.notInstalled",
86
+ "error.providerNotInitialized": "error.providerNotInitialized",
87
+ "error.agentKeyRequired": "error.agentKeyRequired",
88
+ "error.agentMissingVersion": "error.agentMissingVersion",
89
+ "error.agentRequiresInstructions": "error.agentRequiresInstructions",
90
+ "error.agentRequiresTool": "error.agentRequiresTool",
91
+ "error.agentDuplicateTool": "error.agentDuplicateTool",
92
+ "error.agentSpecNotFound": "error.agentSpecNotFound",
93
+ "error.specNotFound": "error.specNotFound",
94
+ "error.toolNotFound": "error.toolNotFound",
95
+ "error.noHandlerForTool": "error.noHandlerForTool",
96
+ "error.noToolHandler": "error.noToolHandler",
97
+ "error.unknownExportFormat": "error.unknownExportFormat",
98
+ "error.handlerNotFoundForTool": "error.handlerNotFoundForTool",
99
+ "error.toolNotFoundOrNoHandler": "error.toolNotFoundOrNoHandler",
100
+ "error.toolNoExecuteHandler": "error.toolNoExecuteHandler",
101
+ "error.provider.notRegistered": "error.provider.notRegistered",
102
+ "error.provider.depsNotInstalled": "error.provider.depsNotInstalled",
103
+ "error.provider.sdkNotConfigured": "error.provider.sdkNotConfigured",
104
+ "error.provider.claudeSdkMissing": "error.provider.claudeSdkMissing",
105
+ "error.provider.opencodeSdkMissing": "error.provider.opencodeSdkMissing",
106
+ "error.provider.sdkNotInstalled": "error.provider.sdkNotInstalled",
107
+ "error.provider.contextCreation": "error.provider.contextCreation",
108
+ "error.provider.executionFailed": "error.provider.executionFailed",
109
+ "error.provider.streamFailed": "error.provider.streamFailed"
110
+ };
111
+ EXPORT_KEYS = {
112
+ "export.agentConfiguration": "export.agentConfiguration",
113
+ "export.metadata": "export.metadata",
114
+ "export.metaName": "export.metaName",
115
+ "export.metaVersion": "export.metaVersion",
116
+ "export.metaOwners": "export.metaOwners",
117
+ "export.metaModel": "export.metaModel",
118
+ "export.instructions": "export.instructions",
119
+ "export.availableTools": "export.availableTools",
120
+ "export.tools": "export.tools",
121
+ "export.knowledgeSources": "export.knowledgeSources",
122
+ "export.policy": "export.policy",
123
+ "export.additionalContext": "export.additionalContext",
124
+ "export.configuration": "export.configuration",
125
+ "export.mcpServers": "export.mcpServers",
126
+ "export.parameters": "export.parameters",
127
+ "export.requiresApproval": "export.requiresApproval",
128
+ "export.notAutomationSafe": "export.notAutomationSafe",
129
+ "export.requiresApprovalMd": "export.requiresApprovalMd",
130
+ "export.notAutomationSafeMd": "export.notAutomationSafeMd",
131
+ "export.required": "export.required",
132
+ "export.optional": "export.optional",
133
+ "export.minConfidence": "export.minConfidence",
134
+ "export.escalationConfigured": "export.escalationConfigured",
135
+ "export.escalationPolicyConfigured": "export.escalationPolicyConfigured",
136
+ "export.featureFlags": "export.featureFlags",
137
+ "export.generatedFrom": "export.generatedFrom",
138
+ "export.exportedAt": "export.exportedAt",
139
+ "export.agentType": "export.agentType",
140
+ "export.noDescription": "export.noDescription",
141
+ "export.validation.requiresKey": "export.validation.requiresKey",
142
+ "export.validation.requiresInstructions": "export.validation.requiresInstructions",
143
+ "export.validation.requiresTool": "export.validation.requiresTool",
144
+ "export.validation.toolRequiresName": "export.validation.toolRequiresName",
145
+ "export.validation.toolRequiresDescOrName": "export.validation.toolRequiresDescOrName",
146
+ "export.validation.toolInvalidName": "export.validation.toolInvalidName",
147
+ "export.agentType.build": "export.agentType.build",
148
+ "export.agentType.plan": "export.agentType.plan",
149
+ "export.agentType.general": "export.agentType.general",
150
+ "export.agentType.explore": "export.agentType.explore",
151
+ "export.bridge.requiresApproval": "export.bridge.requiresApproval",
152
+ "export.bridge.askMode": "export.bridge.askMode"
153
+ };
154
+ APPROVAL_KEYS = {
155
+ "approval.toolRequiresApproval": "approval.toolRequiresApproval"
156
+ };
157
+ LOG_KEYS = {
158
+ "log.unifiedAgent.fallback": "log.unifiedAgent.fallback",
159
+ "log.knowledge.spaceNotAvailable": "log.knowledge.spaceNotAvailable",
160
+ "log.knowledge.loadFailed": "log.knowledge.loadFailed",
161
+ "log.knowledge.queryFailed": "log.knowledge.queryFailed",
162
+ "log.mcpServer.started": "log.mcpServer.started",
163
+ "log.mcpServer.stopped": "log.mcpServer.stopped"
164
+ };
165
+ I18N_KEYS = {
166
+ ...AGENT_KEYS,
167
+ ...KNOWLEDGE_KEYS,
168
+ ...TOOL_KEYS,
169
+ ...INTEROP_KEYS,
170
+ ...ERROR_KEYS,
171
+ ...EXPORT_KEYS,
172
+ ...APPROVAL_KEYS,
173
+ ...LOG_KEYS
174
+ };
175
+ });
176
+ init_keys();
177
+
178
+ export {
179
+ TOOL_KEYS,
180
+ LOG_KEYS,
181
+ KNOWLEDGE_KEYS,
182
+ INTEROP_KEYS,
183
+ I18N_KEYS,
184
+ EXPORT_KEYS,
185
+ ERROR_KEYS,
186
+ APPROVAL_KEYS,
187
+ AGENT_KEYS
188
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Locale resolution and configuration for the ai-agent i18n system.
3
+ *
4
+ * Locale priority: runtime override > spec-level > DEFAULT_LOCALE
5
+ *
6
+ * @module i18n/locale
7
+ */
8
+ /** Default locale when none is specified */
9
+ export declare const DEFAULT_LOCALE = "en";
10
+ /** Supported locales shipped with the ai-agent package */
11
+ export declare const SUPPORTED_LOCALES: readonly ["en", "fr", "es"];
12
+ /** Type for supported locales */
13
+ export type SupportedLocale = (typeof SUPPORTED_LOCALES)[number];
14
+ /**
15
+ * Resolve the effective locale from spec-level and runtime overrides.
16
+ *
17
+ * Priority (highest wins):
18
+ * 1. runtimeLocale (from AgentCallOptions.locale)
19
+ * 2. specLocale (from AgentSpec.locale)
20
+ * 3. DEFAULT_LOCALE ("en")
21
+ *
22
+ * If the resolved locale is not in SUPPORTED_LOCALES, falls back
23
+ * to the base language (e.g., "fr-CA" -> "fr") or DEFAULT_LOCALE.
24
+ *
25
+ * @param specLocale - Locale from the agent spec definition
26
+ * @param runtimeLocale - Locale override passed at execution time
27
+ * @returns The effective locale string
28
+ */
29
+ export declare function resolveLocale(specLocale?: string, runtimeLocale?: string): string;
30
+ /**
31
+ * Check if a locale string is one of the supported locales.
32
+ */
33
+ export declare function isSupportedLocale(locale: string): locale is SupportedLocale;
@@ -0,0 +1,41 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true,
8
+ configurable: true,
9
+ set: (newValue) => all[name] = () => newValue
10
+ });
11
+ };
12
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
13
+ var __require = import.meta.require;
14
+
15
+ // src/i18n/locale.ts
16
+ function resolveLocale(specLocale, runtimeLocale) {
17
+ const raw = runtimeLocale ?? specLocale ?? DEFAULT_LOCALE;
18
+ if (isSupportedLocale(raw)) {
19
+ return raw;
20
+ }
21
+ const base = raw.split("-")[0];
22
+ if (base && isSupportedLocale(base)) {
23
+ return base;
24
+ }
25
+ return DEFAULT_LOCALE;
26
+ }
27
+ function isSupportedLocale(locale) {
28
+ return SUPPORTED_LOCALES.includes(locale);
29
+ }
30
+ var DEFAULT_LOCALE = "en", SUPPORTED_LOCALES;
31
+ var init_locale = __esm(() => {
32
+ SUPPORTED_LOCALES = ["en", "fr", "es"];
33
+ });
34
+ init_locale();
35
+
36
+ export {
37
+ resolveLocale,
38
+ isSupportedLocale,
39
+ SUPPORTED_LOCALES,
40
+ DEFAULT_LOCALE
41
+ };
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Translation helper for the ai-agent package.
3
+ *
4
+ * Provides a lightweight `t()` function that resolves message keys
5
+ * to translated strings using the TranslationRegistry from
6
+ * @contractspec/lib.contracts-spec.
7
+ *
8
+ * @module i18n/messages
9
+ */
10
+ import type { AgentMessageKey } from './keys';
11
+ /**
12
+ * Interface for the agent i18n helper.
13
+ */
14
+ export interface AgentI18n {
15
+ /**
16
+ * Translate a message key, with optional placeholder interpolation.
17
+ *
18
+ * @param key - A key from I18N_KEYS
19
+ * @param params - Optional placeholder values to interpolate
20
+ * @returns The translated string (falls back to English, then to the key itself)
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const i18n = createAgentI18n("fr");
25
+ * i18n.t("error.missingToolHandler", { name: "search" });
26
+ * // => "Gestionnaire manquant pour l'outil : search"
27
+ * ```
28
+ */
29
+ t(key: AgentMessageKey | string, params?: Record<string, string | number>): string;
30
+ /** The effective locale being used */
31
+ readonly locale: string;
32
+ }
33
+ /**
34
+ * Create an AgentI18n instance for a given locale.
35
+ *
36
+ * The locale is resolved through the standard priority chain:
37
+ * runtimeLocale > specLocale > DEFAULT_LOCALE ("en")
38
+ *
39
+ * @param specLocale - Locale from the agent spec (optional)
40
+ * @param runtimeLocale - Runtime locale override (optional)
41
+ * @returns An AgentI18n instance bound to the resolved locale
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * // Use spec locale
46
+ * const i18n = createAgentI18n("fr");
47
+ *
48
+ * // Use runtime override
49
+ * const i18n = createAgentI18n("fr", "es"); // resolves to "es"
50
+ *
51
+ * // Use default
52
+ * const i18n = createAgentI18n(); // resolves to "en"
53
+ * ```
54
+ */
55
+ export declare function createAgentI18n(specLocale?: string, runtimeLocale?: string): AgentI18n;
56
+ /**
57
+ * Convenience: create a default (English) i18n instance.
58
+ * Useful in contexts where no locale information is available.
59
+ */
60
+ export declare function getDefaultI18n(): AgentI18n;
61
+ /**
62
+ * Reset the shared registry (useful for testing).
63
+ * @internal
64
+ */
65
+ export declare function resetI18nRegistry(): void;