@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,629 @@
1
+ import { createRequire } from "node:module";
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 = /* @__PURE__ */ createRequire(import.meta.url);
14
+
15
+ // src/i18n/catalogs/fr.ts
16
+ import { defineTranslation } from "@contractspec/lib.contracts-spec/translations";
17
+ var frMessages;
18
+ var init_fr = __esm(() => {
19
+ frMessages = defineTranslation({
20
+ meta: {
21
+ key: "ai-agent.messages",
22
+ version: "1.0.0",
23
+ domain: "ai-agent",
24
+ description: "Toutes les chaînes destinées aux utilisateurs, aux LLM et aux développeurs pour le package ai-agent",
25
+ owners: ["platform"],
26
+ stability: "experimental"
27
+ },
28
+ locale: "fr",
29
+ fallback: "en",
30
+ messages: {
31
+ "agent.json.rules.validJsonOnly": {
32
+ value: "Vous DEVEZ produire uniquement du JSON valide.",
33
+ description: "JSON runner rule: output must be valid JSON"
34
+ },
35
+ "agent.json.rules.noMarkdownFences": {
36
+ value: "N'encapsulez pas la sortie dans des blocs de code markdown.",
37
+ description: "JSON runner rule: no markdown code fences"
38
+ },
39
+ "agent.json.rules.noCommentary": {
40
+ value: "N'incluez ni commentaire ni explication.",
41
+ description: "JSON runner rule: no extra text"
42
+ },
43
+ "agent.json.rules.doubleQuotes": {
44
+ value: "Utilisez des guillemets doubles pour toutes les clés et valeurs de type chaîne.",
45
+ description: "JSON runner rule: double quotes only"
46
+ },
47
+ "agent.json.rules.noTrailingCommas": {
48
+ value: "N'incluez pas de virgules finales.",
49
+ description: "JSON runner rule: no trailing commas"
50
+ },
51
+ "agent.json.defaultDescription": {
52
+ value: "Exécuteur d'agent JSON uniquement pour les pipelines déterministes.",
53
+ description: "Default description for the JSON runner spec"
54
+ },
55
+ "agent.json.systemPrompt": {
56
+ value: "Vous êtes un générateur JSON précis.",
57
+ description: "Default system prompt for the JSON runner"
58
+ },
59
+ "knowledge.header": {
60
+ value: "# Connaissances de référence",
61
+ description: "Header for injected knowledge section in system prompt"
62
+ },
63
+ "knowledge.description": {
64
+ value: "Les informations suivantes sont fournies à titre de référence. Utilisez-les pour éclairer vos réponses.",
65
+ description: "Description below the knowledge header"
66
+ },
67
+ "tool.knowledge.description": {
68
+ value: "Interrogez les bases de connaissances pour obtenir des informations pertinentes. Utilisez cet outil lorsque vous avez besoin de rechercher des informations spécifiques qui ne sont pas dans votre contexte.",
69
+ description: "Description for the knowledge query tool shown to the LLM"
70
+ },
71
+ "tool.knowledge.availableSpaces": {
72
+ value: "Espaces de connaissances disponibles :",
73
+ description: "Label before listing available knowledge spaces"
74
+ },
75
+ "tool.knowledge.spaceDefault": {
76
+ value: "Espace de connaissances",
77
+ description: "Fallback description for unnamed knowledge spaces"
78
+ },
79
+ "tool.knowledge.param.query": {
80
+ value: "La question ou la requête de recherche pour trouver des informations pertinentes",
81
+ description: "Parameter description for the query field"
82
+ },
83
+ "tool.knowledge.param.spaceKey": {
84
+ value: "Espace de connaissances spécifique à interroger. Si omis, recherche dans tous les espaces disponibles.",
85
+ description: "Parameter description for the spaceKey field"
86
+ },
87
+ "tool.knowledge.param.topK": {
88
+ value: "Nombre maximum de résultats à retourner",
89
+ description: "Parameter description for the topK field"
90
+ },
91
+ "tool.knowledge.noResults": {
92
+ value: "Aucune information pertinente trouvée dans les bases de connaissances.",
93
+ description: "Message when no knowledge results are found"
94
+ },
95
+ "tool.knowledge.sourceLabel": {
96
+ value: "[Source {index} - {space}] (pertinence : {score} %)",
97
+ description: "Label for each knowledge search result",
98
+ placeholders: [
99
+ { name: "index", type: "number", description: "1-based source index" },
100
+ { name: "space", type: "string", description: "Knowledge space name" },
101
+ { name: "score", type: "number", description: "Relevance percentage" }
102
+ ]
103
+ },
104
+ "tool.fallbackDescription": {
105
+ value: "Exécuter {name}",
106
+ description: "Fallback description when a tool has no explicit description",
107
+ placeholders: [
108
+ { name: "name", type: "string", description: "Tool name" }
109
+ ]
110
+ },
111
+ "tool.mcp.param.message": {
112
+ value: "Le message ou la requête à envoyer à l'agent",
113
+ description: "MCP server: message parameter description"
114
+ },
115
+ "tool.mcp.param.sessionId": {
116
+ value: "Identifiant de session optionnel pour poursuivre une conversation",
117
+ description: "MCP server: sessionId parameter description"
118
+ },
119
+ "tool.mcp.agentDescription": {
120
+ value: "Interagir avec l'agent {key}",
121
+ description: "MCP server: agent tool description",
122
+ placeholders: [
123
+ { name: "key", type: "string", description: "Agent spec key" }
124
+ ]
125
+ },
126
+ "tool.mcp.executePrompt": {
127
+ value: "Exécutez l'outil {name} avec les arguments suivants : {args}",
128
+ description: "MCP server: prompt sent when executing an individual tool",
129
+ placeholders: [
130
+ { name: "name", type: "string", description: "Tool name" },
131
+ {
132
+ name: "args",
133
+ type: "string",
134
+ description: "JSON-stringified arguments"
135
+ }
136
+ ]
137
+ },
138
+ "tool.mcp.toolDescription": {
139
+ value: "Exécuter l'outil {name}",
140
+ description: "MCP server: individual tool description",
141
+ placeholders: [
142
+ { name: "name", type: "string", description: "Tool name" }
143
+ ]
144
+ },
145
+ "interop.prompt.agentIdentity": {
146
+ value: "# Identité de l'agent",
147
+ description: "Section header for agent identity in LLM prompt"
148
+ },
149
+ "interop.prompt.youAre": {
150
+ value: "Vous êtes {key} (v{version}).",
151
+ description: "Agent identity statement in LLM prompt",
152
+ placeholders: [
153
+ { name: "key", type: "string" },
154
+ { name: "version", type: "string" }
155
+ ]
156
+ },
157
+ "interop.prompt.description": {
158
+ value: "## Description",
159
+ description: "Section header for description"
160
+ },
161
+ "interop.prompt.instructions": {
162
+ value: "## Instructions",
163
+ description: "Section header for instructions"
164
+ },
165
+ "interop.prompt.availableTools": {
166
+ value: "## Outils disponibles",
167
+ description: "Section header for available tools"
168
+ },
169
+ "interop.prompt.toolsIntro": {
170
+ value: "Vous avez accès aux outils suivants :",
171
+ description: "Introduction before listing tools"
172
+ },
173
+ "interop.prompt.parameters": {
174
+ value: "Paramètres :",
175
+ description: "Label before tool parameters block"
176
+ },
177
+ "interop.prompt.knowledgeContext": {
178
+ value: "## Contexte de connaissances",
179
+ description: "Section header for knowledge context"
180
+ },
181
+ "interop.prompt.additionalContext": {
182
+ value: "## Contexte supplémentaire",
183
+ description: "Section header for additional context"
184
+ },
185
+ "interop.md.toc": {
186
+ value: "## Table des matières",
187
+ description: "TOC header"
188
+ },
189
+ "interop.md.overview": {
190
+ value: "## Aperçu",
191
+ description: "Overview header"
192
+ },
193
+ "interop.md.tools": { value: "## Outils", description: "Tools header" },
194
+ "interop.md.knowledge": {
195
+ value: "## Connaissances",
196
+ description: "Knowledge header"
197
+ },
198
+ "interop.md.policy": {
199
+ value: "## Politique",
200
+ description: "Policy header"
201
+ },
202
+ "interop.md.metaKey": {
203
+ value: "- **Clé** : `{key}`",
204
+ description: "Metadata line for key",
205
+ placeholders: [{ name: "key", type: "string" }]
206
+ },
207
+ "interop.md.metaVersion": {
208
+ value: "- **Version** : {version}",
209
+ description: "Metadata line for version",
210
+ placeholders: [{ name: "version", type: "string" }]
211
+ },
212
+ "interop.md.metaStability": {
213
+ value: "- **Stabilité** : {stability}",
214
+ description: "Metadata line for stability",
215
+ placeholders: [{ name: "stability", type: "string" }]
216
+ },
217
+ "interop.md.metaOwners": {
218
+ value: "- **Propriétaires** : {owners}",
219
+ description: "Metadata line for owners",
220
+ placeholders: [{ name: "owners", type: "string" }]
221
+ },
222
+ "interop.md.metaTags": {
223
+ value: "- **Tags** : {tags}",
224
+ description: "Metadata line for tags",
225
+ placeholders: [{ name: "tags", type: "string" }]
226
+ },
227
+ "interop.md.schema": {
228
+ value: "**Schéma :**",
229
+ description: "Schema label"
230
+ },
231
+ "interop.md.automationSafe": {
232
+ value: "**Compatible avec l'automatisation** : {value}",
233
+ description: "Automation safe field",
234
+ placeholders: [{ name: "value", type: "string" }]
235
+ },
236
+ "interop.md.required": {
237
+ value: "(obligatoire)",
238
+ description: "Required marker"
239
+ },
240
+ "interop.md.optional": {
241
+ value: "(optionnel)",
242
+ description: "Optional marker"
243
+ },
244
+ "interop.md.minConfidence": {
245
+ value: "- **Confiance minimale** : {min}",
246
+ description: "Minimum confidence policy line",
247
+ placeholders: [{ name: "min", type: "number" }]
248
+ },
249
+ "interop.md.escalationThreshold": {
250
+ value: "- **Seuil d'escalade** : {threshold}",
251
+ description: "Escalation threshold policy line",
252
+ placeholders: [{ name: "threshold", type: "number" }]
253
+ },
254
+ "interop.md.escalateToolFailure": {
255
+ value: "- **Escalader en cas d'échec d'outil** : Oui",
256
+ description: "Escalate on tool failure policy line"
257
+ },
258
+ "interop.md.escalateTimeout": {
259
+ value: "- **Escalader en cas de délai d'attente dépassé** : Oui",
260
+ description: "Escalate on timeout policy line"
261
+ },
262
+ "interop.md.yes": { value: "Oui", description: "Yes label" },
263
+ "interop.md.no": { value: "Non", description: "No label" },
264
+ "error.jsonRunner.requiresModel": {
265
+ value: "createAgentJsonRunner nécessite un modèle ou une configuration de fournisseur",
266
+ description: "Error when JSON runner has no model or provider"
267
+ },
268
+ "error.missingToolHandler": {
269
+ value: "Gestionnaire manquant pour l'outil : {name}",
270
+ description: "Error when a tool handler is not registered",
271
+ placeholders: [{ name: "name", type: "string" }]
272
+ },
273
+ "error.unknownBackend": {
274
+ value: "Backend inconnu : {backend}",
275
+ description: "Error when an unknown backend is specified",
276
+ placeholders: [{ name: "backend", type: "string" }]
277
+ },
278
+ "error.claudeSdk.notAvailable": {
279
+ value: "Claude Agent SDK non disponible. Installez @anthropic-ai/claude-agent-sdk",
280
+ description: "Error when Claude Agent SDK is not available"
281
+ },
282
+ "error.claudeSdk.notInstalled": {
283
+ value: "Claude Agent SDK non installé. Exécutez : npm install @anthropic-ai/claude-agent-sdk",
284
+ description: "Error when Claude Agent SDK module is not found"
285
+ },
286
+ "error.opencodeSdk.notAvailable": {
287
+ value: "OpenCode SDK non disponible. Installez @opencode-ai/sdk",
288
+ description: "Error when OpenCode SDK is not available"
289
+ },
290
+ "error.opencodeSdk.notInstalled": {
291
+ value: "OpenCode SDK non installé. Exécutez : npm install @opencode-ai/sdk",
292
+ description: "Error when OpenCode SDK module is not found"
293
+ },
294
+ "error.providerNotInitialized": {
295
+ value: "Fournisseur non initialisé",
296
+ description: "Error when provider has not been initialized before use"
297
+ },
298
+ "error.agentKeyRequired": {
299
+ value: "La clé de l'agent est obligatoire",
300
+ description: "Validation error: missing agent key"
301
+ },
302
+ "error.agentMissingVersion": {
303
+ value: "L'agent {key} n'a pas de version sous forme de chaîne de caractères",
304
+ description: "Validation error: version not a string",
305
+ placeholders: [{ name: "key", type: "string" }]
306
+ },
307
+ "error.agentRequiresInstructions": {
308
+ value: "L'agent {key} nécessite des instructions",
309
+ description: "Validation error: missing instructions",
310
+ placeholders: [{ name: "key", type: "string" }]
311
+ },
312
+ "error.agentRequiresTool": {
313
+ value: "L'agent {key} doit exposer au moins un outil",
314
+ description: "Validation error: no tools defined",
315
+ placeholders: [{ name: "key", type: "string" }]
316
+ },
317
+ "error.agentDuplicateTool": {
318
+ value: "L'agent {key} a un nom d'outil en double : {name}",
319
+ description: "Validation error: duplicate tool name",
320
+ placeholders: [
321
+ { name: "key", type: "string" },
322
+ { name: "name", type: "string" }
323
+ ]
324
+ },
325
+ "error.agentSpecNotFound": {
326
+ value: "Spécification d'agent introuvable pour {name}",
327
+ description: "Error when agent spec is not in the registry",
328
+ placeholders: [{ name: "name", type: "string" }]
329
+ },
330
+ "error.specNotFound": {
331
+ value: "Spécification introuvable : {specKey}",
332
+ description: "Error when a spec key is not found",
333
+ placeholders: [{ name: "specKey", type: "string" }]
334
+ },
335
+ "error.toolNotFound": {
336
+ value: "Outil introuvable : {name}",
337
+ description: "Error when a tool is not found",
338
+ placeholders: [{ name: "name", type: "string" }]
339
+ },
340
+ "error.noHandlerForTool": {
341
+ value: "Aucun gestionnaire enregistré pour l'outil : {name}",
342
+ description: "Error when no handler is registered for a tool",
343
+ placeholders: [{ name: "name", type: "string" }]
344
+ },
345
+ "error.noToolHandler": {
346
+ value: "Aucun gestionnaire pour l'outil : {name}",
347
+ description: "Short error when no handler exists",
348
+ placeholders: [{ name: "name", type: "string" }]
349
+ },
350
+ "error.unknownExportFormat": {
351
+ value: "Format d'export inconnu : {format}",
352
+ description: "Error for unsupported export format",
353
+ placeholders: [{ name: "format", type: "string" }]
354
+ },
355
+ "error.handlerNotFoundForTool": {
356
+ value: "Gestionnaire introuvable pour l'outil {name}",
357
+ description: "Error in tool bridge when handler is missing",
358
+ placeholders: [{ name: "name", type: "string" }]
359
+ },
360
+ "error.toolNotFoundOrNoHandler": {
361
+ value: "Erreur : L'outil « {name} » est introuvable ou n'a pas de gestionnaire",
362
+ description: "Error returned to LLM when tool execution fails",
363
+ placeholders: [{ name: "name", type: "string" }]
364
+ },
365
+ "error.toolNoExecuteHandler": {
366
+ value: "L'outil {name} n'a pas de gestionnaire d'exécution",
367
+ description: "Error when tool lacks an execute function",
368
+ placeholders: [{ name: "name", type: "string" }]
369
+ },
370
+ "error.provider.notRegistered": {
371
+ value: "non enregistré",
372
+ description: "Provider availability reason: not registered"
373
+ },
374
+ "error.provider.depsNotInstalled": {
375
+ value: "dépendances non installées ou non configurées",
376
+ description: "Provider availability reason: deps missing"
377
+ },
378
+ "error.provider.sdkNotConfigured": {
379
+ value: "SDK non installé ou clé d'API non configurée",
380
+ description: "Provider availability reason: SDK or key missing"
381
+ },
382
+ "error.provider.claudeSdkMissing": {
383
+ value: "@anthropic-ai/claude-agent-sdk n'est pas installé",
384
+ description: "Error when Claude Agent SDK require.resolve fails"
385
+ },
386
+ "error.provider.opencodeSdkMissing": {
387
+ value: "@opencode-ai/sdk n'est pas installé",
388
+ description: "Error when OpenCode SDK require.resolve fails"
389
+ },
390
+ "error.provider.sdkNotInstalled": {
391
+ value: "SDK non installé",
392
+ description: "Generic provider error: SDK not installed"
393
+ },
394
+ "error.provider.contextCreation": {
395
+ value: "Échec de la création du contexte : {error}",
396
+ description: "Error during provider context creation",
397
+ placeholders: [{ name: "error", type: "string" }]
398
+ },
399
+ "error.provider.executionFailed": {
400
+ value: "Échec de l'exécution : {error}",
401
+ description: "Error during provider execution",
402
+ placeholders: [{ name: "error", type: "string" }]
403
+ },
404
+ "error.provider.streamFailed": {
405
+ value: "Échec du flux : {error}",
406
+ description: "Error during provider streaming",
407
+ placeholders: [{ name: "error", type: "string" }]
408
+ },
409
+ "export.agentConfiguration": {
410
+ value: "# Configuration de l'agent",
411
+ description: "Markdown heading"
412
+ },
413
+ "export.metadata": {
414
+ value: "## Métadonnées",
415
+ description: "Markdown heading"
416
+ },
417
+ "export.metaName": {
418
+ value: "- **Nom** : {name}",
419
+ description: "Metadata line",
420
+ placeholders: [{ name: "name", type: "string" }]
421
+ },
422
+ "export.metaVersion": {
423
+ value: "- **Version** : {version}",
424
+ description: "Metadata line",
425
+ placeholders: [{ name: "version", type: "string" }]
426
+ },
427
+ "export.metaOwners": {
428
+ value: "- **Propriétaires** : {owners}",
429
+ description: "Metadata line",
430
+ placeholders: [{ name: "owners", type: "string" }]
431
+ },
432
+ "export.metaModel": {
433
+ value: "- **Modèle** : {model}",
434
+ description: "Metadata line",
435
+ placeholders: [{ name: "model", type: "string" }]
436
+ },
437
+ "export.instructions": {
438
+ value: "## Instructions",
439
+ description: "Markdown heading"
440
+ },
441
+ "export.availableTools": {
442
+ value: "## Outils disponibles",
443
+ description: "Markdown heading"
444
+ },
445
+ "export.tools": { value: "## Outils", description: "Markdown heading" },
446
+ "export.knowledgeSources": {
447
+ value: "## Sources de connaissances",
448
+ description: "Markdown heading"
449
+ },
450
+ "export.policy": {
451
+ value: "## Politique",
452
+ description: "Markdown heading"
453
+ },
454
+ "export.additionalContext": {
455
+ value: "## Contexte supplémentaire",
456
+ description: "Markdown heading"
457
+ },
458
+ "export.configuration": {
459
+ value: "## Configuration",
460
+ description: "Markdown heading"
461
+ },
462
+ "export.mcpServers": {
463
+ value: "## Serveurs MCP",
464
+ description: "Markdown heading"
465
+ },
466
+ "export.parameters": {
467
+ value: "**Paramètres :**",
468
+ description: "Parameters label"
469
+ },
470
+ "export.requiresApproval": {
471
+ value: "nécessite une approbation",
472
+ description: "Tool flag"
473
+ },
474
+ "export.notAutomationSafe": {
475
+ value: "non compatible avec l'automatisation",
476
+ description: "Tool flag"
477
+ },
478
+ "export.requiresApprovalMd": {
479
+ value: "*(nécessite une approbation)*",
480
+ description: "Markdown tool flag"
481
+ },
482
+ "export.notAutomationSafeMd": {
483
+ value: "*(non compatible avec l'automatisation)*",
484
+ description: "Markdown tool flag"
485
+ },
486
+ "export.required": {
487
+ value: "(obligatoire)",
488
+ description: "Required marker"
489
+ },
490
+ "export.optional": {
491
+ value: "(optionnel)",
492
+ description: "Optional marker"
493
+ },
494
+ "export.minConfidence": {
495
+ value: "- Confiance minimale : {min}",
496
+ description: "Policy line",
497
+ placeholders: [{ name: "min", type: "number" }]
498
+ },
499
+ "export.escalationConfigured": {
500
+ value: "- La politique d'escalade est configurée",
501
+ description: "Policy line for system prompt"
502
+ },
503
+ "export.escalationPolicyConfigured": {
504
+ value: "- Politique d'escalade configurée",
505
+ description: "Policy line for markdown export"
506
+ },
507
+ "export.featureFlags": {
508
+ value: "- Indicateurs de fonctionnalités : {flags}",
509
+ description: "Feature flags policy line",
510
+ placeholders: [{ name: "flags", type: "string" }]
511
+ },
512
+ "export.generatedFrom": {
513
+ value: "*Généré à partir de ContractSpec : {key}*",
514
+ description: "Footer attribution line",
515
+ placeholders: [{ name: "key", type: "string" }]
516
+ },
517
+ "export.exportedAt": {
518
+ value: "*Exporté le : {date}*",
519
+ description: "Footer timestamp",
520
+ placeholders: [{ name: "date", type: "string" }]
521
+ },
522
+ "export.agentType": {
523
+ value: "> Type d'agent : **{type}**",
524
+ description: "Agent type callout",
525
+ placeholders: [{ name: "type", type: "string" }]
526
+ },
527
+ "export.noDescription": {
528
+ value: "Aucune description",
529
+ description: "Fallback when tool has no description"
530
+ },
531
+ "export.validation.requiresKey": {
532
+ value: "La spécification doit avoir une meta.key",
533
+ description: "Validation error"
534
+ },
535
+ "export.validation.requiresInstructions": {
536
+ value: "La spécification doit avoir des instructions",
537
+ description: "Validation error"
538
+ },
539
+ "export.validation.requiresTool": {
540
+ value: "La spécification doit avoir au moins un outil",
541
+ description: "Validation error"
542
+ },
543
+ "export.validation.toolRequiresName": {
544
+ value: "Tous les outils doivent avoir un nom",
545
+ description: "Validation error"
546
+ },
547
+ "export.validation.toolRequiresDescOrName": {
548
+ value: "L'outil doit avoir une description ou un nom",
549
+ description: "Validation error"
550
+ },
551
+ "export.validation.toolInvalidName": {
552
+ value: "Le nom d'outil « {name} » doit être un identifiant valide (lettres, chiffres, underscores)",
553
+ description: "Validation error for invalid tool name",
554
+ placeholders: [{ name: "name", type: "string" }]
555
+ },
556
+ "export.agentType.build": {
557
+ value: "Agent principal avec accès complet aux outils pour la génération et la modification de code.",
558
+ description: "Build agent type description"
559
+ },
560
+ "export.agentType.plan": {
561
+ value: "Agent restreint pour l'analyse et la planification. Les modifications de fichiers et les commandes bash nécessitent une approbation.",
562
+ description: "Plan agent type description"
563
+ },
564
+ "export.agentType.general": {
565
+ value: "Sous-agent généraliste pour les questions complexes et les tâches en plusieurs étapes.",
566
+ description: "General agent type description"
567
+ },
568
+ "export.agentType.explore": {
569
+ value: "Sous-agent rapide optimisé pour l'exploration de la base de code et la recherche de motifs.",
570
+ description: "Explore agent type description"
571
+ },
572
+ "export.bridge.requiresApproval": {
573
+ value: "(nécessite une approbation)",
574
+ description: "Tool permission label"
575
+ },
576
+ "export.bridge.askMode": {
577
+ value: "(mode interrogation)",
578
+ description: "Tool permission label"
579
+ },
580
+ "approval.toolRequiresApproval": {
581
+ value: "L'outil « {name} » nécessite une approbation",
582
+ description: "Default reason for tool approval requests",
583
+ placeholders: [{ name: "name", type: "string" }]
584
+ },
585
+ "log.unifiedAgent.fallback": {
586
+ value: "[UnifiedAgent] {backend} a échoué, repli sur {fallback}",
587
+ description: "Warning when a backend fails and fallback is used",
588
+ placeholders: [
589
+ { name: "backend", type: "string" },
590
+ { name: "fallback", type: "string" }
591
+ ]
592
+ },
593
+ "log.knowledge.spaceNotAvailable": {
594
+ value: "L'espace de connaissances requis « {key} » n'est pas disponible",
595
+ description: "Warning when a required knowledge space is missing",
596
+ placeholders: [{ name: "key", type: "string" }]
597
+ },
598
+ "log.knowledge.loadFailed": {
599
+ value: "Échec du chargement des connaissances requises « {key} » :",
600
+ description: "Warning when knowledge loading fails",
601
+ placeholders: [{ name: "key", type: "string" }]
602
+ },
603
+ "log.knowledge.queryFailed": {
604
+ value: "Échec de l'interrogation de l'espace de connaissances {space} :",
605
+ description: "Warning when knowledge querying fails",
606
+ placeholders: [{ name: "space", type: "string" }]
607
+ },
608
+ "log.mcpServer.started": {
609
+ value: "[MCPToolServer] {name}@{version} démarré avec {count} outils",
610
+ description: "Log message when MCP tool server starts",
611
+ placeholders: [
612
+ { name: "name", type: "string" },
613
+ { name: "version", type: "string" },
614
+ { name: "count", type: "number" }
615
+ ]
616
+ },
617
+ "log.mcpServer.stopped": {
618
+ value: "[MCPToolServer] {name} arrêté",
619
+ description: "Log message when MCP tool server stops",
620
+ placeholders: [{ name: "name", type: "string" }]
621
+ }
622
+ }
623
+ });
624
+ });
625
+ init_fr();
626
+
627
+ export {
628
+ frMessages
629
+ };