@testsmith/api-spector 0.6.9 → 0.7.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.
package/out/main/index.js CHANGED
@@ -5943,7 +5943,7 @@ function isNewer(a, b) {
5943
5943
  return a2 > b2;
5944
5944
  }
5945
5945
  async function checkForUpdate() {
5946
- const current = "0.6.9";
5946
+ const current = "0.7.0";
5947
5947
  try {
5948
5948
  const res = await fetch(REGISTRY_URL, { signal: AbortSignal.timeout(4e3) });
5949
5949
  if (!res.ok) return null;
@@ -495,7 +495,7 @@ async function main() {
495
495
  } else if (!envName && workspace.settings?.defaultEnvironment && !env) {
496
496
  console.warn(cliCommon.color(`Warning: default environment "${workspace.settings.defaultEnvironment}" not found. Running without environment.`, cliCommon.C.yellow));
497
497
  }
498
- const version = `v${"0.6.9"}`;
498
+ const version = `v${"0.7.0"}`;
499
499
  console.log("");
500
500
  console.log(cliCommon.color(" API Test Runner" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
501
501
  console.log(cliCommon.color(` Workspace: ${wsPath}`, cliCommon.C.gray));
@@ -1,5 +1,5 @@
1
1
  import { l as linter, E as EditorView, L as LanguageSupport, e as LRLanguage, s as styleTags, i as indentNodeProp, f as delimitedIndent, m as foldNodeProp, n as foldInside, S as StateField, p as LRParser, q as StateEffect, u as tags, r as reactExports, j as jsxRuntimeExports, c as ReactCodeMirror, o as oneDark, b as json } from "./codemirror-F6m3Hm1M.js";
2
- import { u as useT, a as useStore, b as useActiveEnvironment } from "./index-1jxnGx99.js";
2
+ import { u as useT, a as useStore, b as useActiveEnvironment } from "./index-Bquy5IRN.js";
3
3
  import "./ajv-2MAg6kGF.js";
4
4
  function devAssert(condition, message) {
5
5
  const booleanCondition = Boolean(condition);
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, c as ReactCodeMirror, o as oneDark, x as xml } from "./codemirror-F6m3Hm1M.js";
2
- import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-1jxnGx99.js";
2
+ import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-Bquy5IRN.js";
3
3
  import "./ajv-2MAg6kGF.js";
4
4
  const SOAP_11_CONTENT_TYPE = "text/xml; charset=utf-8";
5
5
  const SOAP_12_CONTENT_TYPE = "application/soap+xml; charset=utf-8";
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphQLEditor-1bHxSsva.js","./codemirror-F6m3Hm1M.js","./ajv-2MAg6kGF.js","./SoapEditor-DvPgkPUy.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphQLEditor-DVmXF8Zt.js","./codemirror-F6m3Hm1M.js","./ajv-2MAg6kGF.js","./SoapEditor-Dnt4GqdH.js"])))=>i.map(i=>d[i]);
2
2
  import { r as reactExports, g as getDefaultExportFromCjs, R as React$2, a as autocompletion, h as hoverTooltip, j as jsxRuntimeExports, k as keymap, t as toggleComment, x as xml, b as json, c as ReactCodeMirror, o as oneDark, d as javascript } from "./codemirror-F6m3Hm1M.js";
3
3
  import { A as Ajv } from "./ajv-2MAg6kGF.js";
4
4
  var client = { exports: {} };
@@ -15340,14 +15340,14 @@ const en = {
15340
15340
  Remove: Remove$6,
15341
15341
  "+ add": "+ add",
15342
15342
  "Saved :path in the workspace": "Saved :path in the workspace",
15343
- "Could not create the mock — open a workspace first.": "Could not create the mock — open a workspace first.",
15343
+ "Could not create the mock - open a workspace first.": "Could not create the mock - open a workspace first.",
15344
15344
  ":consumer → :provider (contract mock)": ":consumer → :provider (contract mock)",
15345
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it",
15345
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it",
15346
15346
  "Published, but bi-directional check failed: :detail": "Published, but bi-directional check failed: :detail",
15347
15347
  "see matrix": "see matrix",
15348
15348
  "Published :consumer@:version to the cloud": "Published :consumer@:version to the cloud",
15349
15349
  "Contract Designer": "Contract Designer",
15350
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.",
15350
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.",
15351
15351
  "New contract": "New contract",
15352
15352
  "+ New": "+ New",
15353
15353
  "No contracts yet. Click": "No contracts yet. Click",
@@ -15365,23 +15365,23 @@ const en = {
15365
15365
  "Publishing…": "Publishing…",
15366
15366
  "Publish to Cloud": "Publish to Cloud",
15367
15367
  Delete: Delete$6,
15368
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.",
15368
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.",
15369
15369
  "what this interaction is": "what this interaction is",
15370
15370
  "Remove interaction": "Remove interaction",
15371
- 'provider state (e.g. "brand 1 exists") — optional': 'provider state (e.g. "brand 1 exists") — optional',
15371
+ 'provider state (e.g. "brand 1 exists") - optional': 'provider state (e.g. "brand 1 exists") - optional',
15372
15372
  Request: Request$6,
15373
15373
  "Body (JSON, optional)": "Body (JSON, optional)",
15374
15374
  "Expected response": "Expected response",
15375
15375
  "expected status code": "expected status code",
15376
15376
  Body: Body$6,
15377
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] — or a JSON example",
15377
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - or a JSON example",
15378
15378
  "A JSON example (matched by type when the toggle is on), or a": "A JSON example (matched by type when the toggle is on), or a",
15379
15379
  "type shape": "type shape",
15380
15380
  "to check each property's type:": "to check each property's type:",
15381
15381
  "plus nested": "plus nested",
15382
15382
  ". E.g.": ". E.g.",
15383
15383
  ". Compiles to Pact": ". Compiles to Pact",
15384
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Match a JSON example by type, not exact value (tolerant — recommended)",
15384
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Match a JSON example by type, not exact value (tolerant - recommended)",
15385
15385
  "+ Add interaction": "+ Add interaction",
15386
15386
  ERR: ERR$6,
15387
15387
  "▲ Hide sent request": "▲ Hide sent request",
@@ -15413,7 +15413,7 @@ const en = {
15413
15413
  ":count operation clean|:count operations clean": ":count operation clean|:count operations clean",
15414
15414
  "All cases sent": "All cases sent",
15415
15415
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "No operations were fuzzed. Check that requests have a body or a matching spec operation.",
15416
- "Published :name@:version — :count contract(s) re-verified": "Published :name@:version — :count contract(s) re-verified",
15416
+ "Published :name@:version - :count contract(s) re-verified": "Published :name@:version - :count contract(s) re-verified",
15417
15417
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.",
15418
15418
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.",
15419
15419
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.",
@@ -15752,7 +15752,7 @@ const en = {
15752
15752
  "Enable API Spector Cloud": "Enable API Spector Cloud",
15753
15753
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.',
15754
15754
  "API token": "API token",
15755
- "•••••••• (saved — type to replace)": "•••••••• (saved — type to replace)",
15755
+ "•••••••• (saved - type to replace)": "•••••••• (saved - type to replace)",
15756
15756
  "Paste a token from the cloud dashboard": "Paste a token from the cloud dashboard",
15757
15757
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.",
15758
15758
  "Testing…": "Testing…",
@@ -15766,7 +15766,7 @@ const en = {
15766
15766
  "Add pattern…": "Add pattern…",
15767
15767
  Add: Add$6,
15768
15768
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Reference secrets from an external manager instead of storing them. Put a reference like",
15769
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).",
15769
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).",
15770
15770
  "Address (VAULT_ADDR)": "Address (VAULT_ADDR)",
15771
15771
  Namespace: Namespace$6,
15772
15772
  "(Enterprise)": "(Enterprise)",
@@ -16122,7 +16122,7 @@ const en = {
16122
16122
  "No contract body schema defined yet": "No contract body schema defined yet",
16123
16123
  "Derive from contract": "Derive from contract",
16124
16124
  Validate: Validate$6,
16125
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.",
16125
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.",
16126
16126
  "Format JSON": "Format JSON",
16127
16127
  "Valid: response matches the schema.": "Valid: response matches the schema.",
16128
16128
  "Invalid: :count error|Invalid: :count errors": "Invalid: :count error|Invalid: :count errors",
@@ -16599,14 +16599,14 @@ const de = {
16599
16599
  Remove: Remove$5,
16600
16600
  "+ add": "+ hinzufügen",
16601
16601
  "Saved :path in the workspace": ":path im Arbeitsbereich gespeichert",
16602
- "Could not create the mock — open a workspace first.": "Mock konnte nicht erstellt werden - öffnen Sie zuerst einen Arbeitsbereich.",
16602
+ "Could not create the mock - open a workspace first.": "Mock konnte nicht erstellt werden - öffnen Sie zuerst einen Arbeitsbereich.",
16603
16603
  ":consumer → :provider (contract mock)": ":consumer → :provider (Contract-Mock)",
16604
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Mock mit :count Route erstellt - öffnen Sie das Mocks-Panel, um ihn auszuführen|Mock mit :count Routen erstellt - öffnen Sie das Mocks-Panel, um ihn auszuführen",
16604
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Mock mit :count Route erstellt - öffnen Sie das Mocks-Panel, um ihn auszuführen|Mock mit :count Routen erstellt - öffnen Sie das Mocks-Panel, um ihn auszuführen",
16605
16605
  "Published, but bi-directional check failed: :detail": "Veröffentlicht, aber bidirektionale Prüfung fehlgeschlagen: :detail",
16606
16606
  "see matrix": "Matrix ansehen",
16607
16607
  "Published :consumer@:version to the cloud": ":consumer@:version in die Cloud veröffentlicht",
16608
16608
  "Contract Designer": "Contract Designer",
16609
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Entwerfen Sie vorab einen consumer-driven Contract - kein Endpunkt erforderlich - und veröffentlichen Sie ihn dann in der API Spector Cloud.",
16609
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Entwerfen Sie vorab einen consumer-driven Contract - kein Endpunkt erforderlich - und veröffentlichen Sie ihn dann in der API Spector Cloud.",
16610
16610
  "New contract": "Neuer Contract",
16611
16611
  "+ New": "+ Neu",
16612
16612
  "No contracts yet. Click": "Noch keine Contracts. Klicken Sie auf",
@@ -16624,23 +16624,23 @@ const de = {
16624
16624
  "Publishing…": "Veröffentliche…",
16625
16625
  "Publish to Cloud": "In Cloud veröffentlichen",
16626
16626
  Delete: Delete$5,
16627
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Nicht mit API Spector Cloud verbunden - verbinden Sie sich in Einstellungen → Cloud, um zu veröffentlichen. Sie können den Contract dennoch entwerfen und speichern.",
16627
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Nicht mit API Spector Cloud verbunden - verbinden Sie sich in Einstellungen → Cloud, um zu veröffentlichen. Sie können den Contract dennoch entwerfen und speichern.",
16628
16628
  "what this interaction is": "was diese Interaktion ist",
16629
16629
  "Remove interaction": "Interaktion entfernen",
16630
- 'provider state (e.g. "brand 1 exists") — optional': 'Provider-State (z. B. "Marke 1 existiert") - optional',
16630
+ 'provider state (e.g. "brand 1 exists") - optional': 'Provider-State (z. B. "Marke 1 existiert") - optional',
16631
16631
  Request: Request$5,
16632
16632
  "Body (JSON, optional)": "Body (JSON, optional)",
16633
16633
  "Expected response": "Erwartete Antwort",
16634
16634
  "expected status code": "erwarteter Statuscode",
16635
16635
  Body: Body$5,
16636
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - oder ein JSON-Beispiel",
16636
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - oder ein JSON-Beispiel",
16637
16637
  "A JSON example (matched by type when the toggle is on), or a": "Ein JSON-Beispiel (nach Typ abgeglichen, wenn der Schalter aktiv ist), oder eine",
16638
16638
  "type shape": "Typform",
16639
16639
  "to check each property's type:": "um den Typ jeder Eigenschaft zu prüfen:",
16640
16640
  "plus nested": "plus verschachtelt",
16641
16641
  ". E.g.": ". Z. B.",
16642
16642
  ". Compiles to Pact": ". Kompiliert zu Pact",
16643
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Ein JSON-Beispiel nach Typ abgleichen, nicht nach exaktem Wert (tolerant - empfohlen)",
16643
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Ein JSON-Beispiel nach Typ abgleichen, nicht nach exaktem Wert (tolerant - empfohlen)",
16644
16644
  "+ Add interaction": "+ Interaktion hinzufügen",
16645
16645
  ERR: ERR$5,
16646
16646
  "▲ Hide sent request": "▲ Gesendete Request ausblenden",
@@ -16672,7 +16672,7 @@ const de = {
16672
16672
  ":count operation clean|:count operations clean": ":count Operation sauber|:count Operationen sauber",
16673
16673
  "All cases sent": "Alle Fälle gesendet",
16674
16674
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "Es wurden keine Operationen gefuzzt. Prüfen Sie, ob Requests einen Body oder eine passende Spec-Operation haben.",
16675
- "Published :name@:version — :count contract(s) re-verified": ":name@:version veröffentlicht - :count Contract(s) erneut verifiziert",
16675
+ "Published :name@:version - :count contract(s) re-verified": ":name@:version veröffentlicht - :count Contract(s) erneut verifiziert",
16676
16676
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Geben Sie eine OpenAPI-Spec-URL an oder wählen Sie einen angehefteten Snapshot für den Provider-/bidirektionalen Modus.",
16677
16677
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Geben Sie eine Provider-Basis-URL an (z. B. http://localhost:3000), gegen die Contracts erneut abgespielt werden.",
16678
16678
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Geben Sie eine Provider-Basis-URL an (z. B. http://localhost:3000), gegen die gefuzzt wird.",
@@ -17011,7 +17011,7 @@ const de = {
17011
17011
  "Enable API Spector Cloud": "API Spector Cloud aktivieren",
17012
17012
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Übertragen Sie Mocks und Monitore an eine gehostete Instanz. Wenn aktiviert, erscheinen "In Cloud übertragen"-Aktionen bei Mocks und Requests.',
17013
17013
  "API token": "API-Token",
17014
- "•••••••• (saved — type to replace)": "•••••••• (gespeichert - tippen zum Ersetzen)",
17014
+ "•••••••• (saved - type to replace)": "•••••••• (gespeichert - tippen zum Ersetzen)",
17015
17015
  "Paste a token from the cloud dashboard": "Fügen Sie ein Token aus dem Cloud-Dashboard ein",
17016
17016
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Wird in Ihrem OS-Schlüsselbund gespeichert, nie in der Arbeitsbereich-Datei. Erstellen Sie eines unter Tokens im Cloud-Dashboard.",
17017
17017
  "Testing…": "Teste…",
@@ -17025,7 +17025,7 @@ const de = {
17025
17025
  "Add pattern…": "Muster hinzufügen…",
17026
17026
  Add: Add$5,
17027
17027
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Referenzieren Sie Secrets aus einem externen Manager, anstatt sie zu speichern. Setzen Sie eine Referenz wie",
17028
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "in eine Umgebungsvariable oder ein Auth-Feld; sie wird zur Sendezeit aufgelöst und nie in den Arbeitsbereich geschrieben. Diese Verbindungskonfiguration ist nicht secret - Tokens und Secret-IDs kommen aus Ihrer Umgebung (oder der Vault-Anmeldung unten).",
17028
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "in eine Umgebungsvariable oder ein Auth-Feld; sie wird zur Sendezeit aufgelöst und nie in den Arbeitsbereich geschrieben. Diese Verbindungskonfiguration ist nicht secret - Tokens und Secret-IDs kommen aus Ihrer Umgebung (oder der Vault-Anmeldung unten).",
17029
17029
  "Address (VAULT_ADDR)": "Adresse (VAULT_ADDR)",
17030
17030
  Namespace: Namespace$5,
17031
17031
  "(Enterprise)": "(Enterprise)",
@@ -17381,7 +17381,7 @@ const de = {
17381
17381
  "No contract body schema defined yet": "Noch kein Contract-Body-Schema definiert",
17382
17382
  "Derive from contract": "Aus Contract ableiten",
17383
17383
  Validate: Validate$5,
17384
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Eigenständig - Änderungen hier berühren den Contract nicht. Verwenden Sie „Aus Contract ableiten“, um davon auszugehen.",
17384
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Eigenständig - Änderungen hier berühren den Contract nicht. Verwenden Sie „Aus Contract ableiten“, um davon auszugehen.",
17385
17385
  "Format JSON": "JSON formatieren",
17386
17386
  "Valid: response matches the schema.": "Gültig: Antwort entspricht dem Schema.",
17387
17387
  "Invalid: :count error|Invalid: :count errors": "Ungültig: :count Fehler|Ungültig: :count Fehler",
@@ -17858,14 +17858,14 @@ const fr = {
17858
17858
  Remove: Remove$4,
17859
17859
  "+ add": "+ ajouter",
17860
17860
  "Saved :path in the workspace": "Enregistré :path dans l'espace de travail",
17861
- "Could not create the mock — open a workspace first.": "Impossible de créer le mock. Ouvrez d'abord un espace de travail.",
17861
+ "Could not create the mock - open a workspace first.": "Impossible de créer le mock. Ouvrez d'abord un espace de travail.",
17862
17862
  ":consumer → :provider (contract mock)": ":consumer → :provider (mock de contrat)",
17863
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Mock créé avec :count route. Ouvrez le panneau Mocks pour l'exécuter|Mock créé avec :count routes. Ouvrez le panneau Mocks pour l'exécuter",
17863
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Mock créé avec :count route. Ouvrez le panneau Mocks pour l'exécuter|Mock créé avec :count routes. Ouvrez le panneau Mocks pour l'exécuter",
17864
17864
  "Published, but bi-directional check failed: :detail": "Publié, mais la vérification bi-directionnelle a échoué : :detail",
17865
17865
  "see matrix": "voir la matrice",
17866
17866
  "Published :consumer@:version to the cloud": "Publié :consumer@:version dans le cloud",
17867
17867
  "Contract Designer": "Concepteur de contrats",
17868
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Concevez un contrat piloté par le consommateur en amont, sans point de terminaison requis, puis publiez-le sur API Spector Cloud.",
17868
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Concevez un contrat piloté par le consommateur en amont, sans point de terminaison requis, puis publiez-le sur API Spector Cloud.",
17869
17869
  "New contract": "Nouveau contrat",
17870
17870
  "+ New": "+ Nouveau",
17871
17871
  "No contracts yet. Click": "Aucun contrat pour le moment. Cliquez sur",
@@ -17883,23 +17883,23 @@ const fr = {
17883
17883
  "Publishing…": "Publication…",
17884
17884
  "Publish to Cloud": "Publier sur le Cloud",
17885
17885
  Delete: Delete$4,
17886
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Non connecté à API Spector Cloud. Connectez-vous dans Paramètres → Cloud pour publier. Vous pouvez tout de même concevoir et enregistrer le contrat.",
17886
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Non connecté à API Spector Cloud. Connectez-vous dans Paramètres → Cloud pour publier. Vous pouvez tout de même concevoir et enregistrer le contrat.",
17887
17887
  "what this interaction is": "ce qu'est cette interaction",
17888
17888
  "Remove interaction": "Supprimer l'interaction",
17889
- 'provider state (e.g. "brand 1 exists") — optional': 'état du fournisseur (par ex. "brand 1 exists") - facultatif',
17889
+ 'provider state (e.g. "brand 1 exists") - optional': 'état du fournisseur (par ex. "brand 1 exists") - facultatif',
17890
17890
  Request: Request$4,
17891
17891
  "Body (JSON, optional)": "Corps (JSON, facultatif)",
17892
17892
  "Expected response": "Réponse attendue",
17893
17893
  "expected status code": "code de statut attendu",
17894
17894
  Body: Body$4,
17895
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - ou un exemple JSON",
17895
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - ou un exemple JSON",
17896
17896
  "A JSON example (matched by type when the toggle is on), or a": "Un exemple JSON (comparé par type lorsque l'option est activée), ou une",
17897
17897
  "type shape": "forme de type",
17898
17898
  "to check each property's type:": "pour vérifier le type de chaque propriété :",
17899
17899
  "plus nested": "plus imbriqué",
17900
17900
  ". E.g.": ". Par ex.",
17901
17901
  ". Compiles to Pact": ". Compile vers Pact",
17902
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Comparer un exemple JSON par type, pas par valeur exacte (tolérant - recommandé)",
17902
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Comparer un exemple JSON par type, pas par valeur exacte (tolérant - recommandé)",
17903
17903
  "+ Add interaction": "+ Ajouter une interaction",
17904
17904
  ERR: ERR$4,
17905
17905
  "▲ Hide sent request": "▲ Masquer la request envoyée",
@@ -17931,7 +17931,7 @@ const fr = {
17931
17931
  ":count operation clean|:count operations clean": ":count opération propre|:count opérations propres",
17932
17932
  "All cases sent": "Tous les cas envoyés",
17933
17933
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "Aucune opération n'a été fuzzée. Vérifiez que les requests ont un corps ou une opération de spec correspondante.",
17934
- "Published :name@:version — :count contract(s) re-verified": "Publié :name@:version - :count contrat(s) revérifié(s)",
17934
+ "Published :name@:version - :count contract(s) re-verified": "Publié :name@:version - :count contrat(s) revérifié(s)",
17935
17935
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Fournissez une URL de spec OpenAPI ou choisissez un instantané épinglé pour le mode fournisseur / bi-directionnel.",
17936
17936
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Fournissez une URL de base du fournisseur (par ex. http://localhost:3000) pour rejouer les contrats.",
17937
17937
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Fournissez une URL de base du fournisseur (par ex. http://localhost:3000) à fuzzer.",
@@ -18270,7 +18270,7 @@ const fr = {
18270
18270
  "Enable API Spector Cloud": "Activer API Spector Cloud",
18271
18271
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Poussez les mocks et les moniteurs vers une instance hébergée. Lorsque activé, les actions "Envoyer vers le cloud" apparaissent sur les mocks et les requests.',
18272
18272
  "API token": "Token API",
18273
- "•••••••• (saved — type to replace)": "•••••••• (enregistré - saisissez pour remplacer)",
18273
+ "•••••••• (saved - type to replace)": "•••••••• (enregistré - saisissez pour remplacer)",
18274
18274
  "Paste a token from the cloud dashboard": "Collez un token depuis le tableau de bord cloud",
18275
18275
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Stocké dans le trousseau de votre OS, jamais dans le fichier de l'espace de travail. Créez-en un sous Tokens dans le tableau de bord cloud.",
18276
18276
  "Testing…": "Test…",
@@ -18284,7 +18284,7 @@ const fr = {
18284
18284
  "Add pattern…": "Ajouter un motif…",
18285
18285
  Add: Add$4,
18286
18286
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Référencez des secrets depuis un gestionnaire externe au lieu de les stocker. Mettez une référence comme",
18287
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "dans une variable d'environnement ou un champ d'authentification ; elle est résolue au moment de l'envoi et jamais écrite dans l'espace de travail. Cette config de connexion n'est pas secret - les tokens et les identifiants de secret proviennent de votre environnement (ou de la connexion Vault ci-dessous).",
18287
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "dans une variable d'environnement ou un champ d'authentification ; elle est résolue au moment de l'envoi et jamais écrite dans l'espace de travail. Cette config de connexion n'est pas secret - les tokens et les identifiants de secret proviennent de votre environnement (ou de la connexion Vault ci-dessous).",
18288
18288
  "Address (VAULT_ADDR)": "Adresse (VAULT_ADDR)",
18289
18289
  Namespace: Namespace$4,
18290
18290
  "(Enterprise)": "(Enterprise)",
@@ -18640,7 +18640,7 @@ const fr = {
18640
18640
  "No contract body schema defined yet": "Aucun schéma de corps de contrat défini pour le moment",
18641
18641
  "Derive from contract": "Dériver du contrat",
18642
18642
  Validate: Validate$4,
18643
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autonome - les modifications ici n'affectent pas le contrat. Utilisez « Dériver du contrat » pour partir de celui-ci.",
18643
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autonome - les modifications ici n'affectent pas le contrat. Utilisez « Dériver du contrat » pour partir de celui-ci.",
18644
18644
  "Format JSON": "Formater le JSON",
18645
18645
  "Valid: response matches the schema.": "Valide : la réponse correspond au schéma.",
18646
18646
  "Invalid: :count error|Invalid: :count errors": "Invalide : :count erreur|Invalide : :count erreurs",
@@ -19117,14 +19117,14 @@ const es = {
19117
19117
  Remove: Remove$3,
19118
19118
  "+ add": "+ añadir",
19119
19119
  "Saved :path in the workspace": "Se guardó :path en el espacio de trabajo",
19120
- "Could not create the mock — open a workspace first.": "No se pudo crear el mock. Abre primero un espacio de trabajo.",
19120
+ "Could not create the mock - open a workspace first.": "No se pudo crear el mock. Abre primero un espacio de trabajo.",
19121
19121
  ":consumer → :provider (contract mock)": ":consumer → :provider (mock de contrato)",
19122
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Se creó el mock con :count ruta. Abre el panel de Mocks para ejecutarlo|Se creó el mock con :count rutas. Abre el panel de Mocks para ejecutarlo",
19122
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Se creó el mock con :count ruta. Abre el panel de Mocks para ejecutarlo|Se creó el mock con :count rutas. Abre el panel de Mocks para ejecutarlo",
19123
19123
  "Published, but bi-directional check failed: :detail": "Publicado, pero la comprobación bidireccional falló: :detail",
19124
19124
  "see matrix": "ver matriz",
19125
19125
  "Published :consumer@:version to the cloud": "Se publicó :consumer@:version en la nube",
19126
19126
  "Contract Designer": "Diseñador de contratos",
19127
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Diseña un contrato dirigido por el consumidor de antemano, sin necesidad de endpoint, y luego publícalo en API Spector Cloud.",
19127
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Diseña un contrato dirigido por el consumidor de antemano, sin necesidad de endpoint, y luego publícalo en API Spector Cloud.",
19128
19128
  "New contract": "Nuevo contrato",
19129
19129
  "+ New": "+ Nuevo",
19130
19130
  "No contracts yet. Click": "Aún no hay contratos. Haz clic en",
@@ -19142,23 +19142,23 @@ const es = {
19142
19142
  "Publishing…": "Publicando…",
19143
19143
  "Publish to Cloud": "Publicar en la nube",
19144
19144
  Delete: Delete$3,
19145
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "No estás conectado a API Spector Cloud. Conéctate en Ajustes → Cloud para publicar. Aún puedes diseñar y guardar el contrato.",
19145
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "No estás conectado a API Spector Cloud. Conéctate en Ajustes → Cloud para publicar. Aún puedes diseñar y guardar el contrato.",
19146
19146
  "what this interaction is": "qué es esta interacción",
19147
19147
  "Remove interaction": "Eliminar interacción",
19148
- 'provider state (e.g. "brand 1 exists") — optional': 'estado del proveedor (p. ej. "brand 1 exists") - opcional',
19148
+ 'provider state (e.g. "brand 1 exists") - optional': 'estado del proveedor (p. ej. "brand 1 exists") - opcional',
19149
19149
  Request: Request$3,
19150
19150
  "Body (JSON, optional)": "Cuerpo (JSON, opcional)",
19151
19151
  "Expected response": "Respuesta esperada",
19152
19152
  "expected status code": "código de estado esperado",
19153
19153
  Body: Body$3,
19154
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - o un ejemplo JSON",
19154
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - o un ejemplo JSON",
19155
19155
  "A JSON example (matched by type when the toggle is on), or a": "Un ejemplo JSON (comparado por tipo cuando el interruptor está activado), o una",
19156
19156
  "type shape": "forma de tipos",
19157
19157
  "to check each property's type:": "para comprobar el tipo de cada propiedad:",
19158
19158
  "plus nested": "más anidados",
19159
19159
  ". E.g.": ". P. ej.",
19160
19160
  ". Compiles to Pact": ". Se compila a Pact",
19161
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Comparar un ejemplo JSON por tipo, no por valor exacto (tolerante - recomendado)",
19161
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Comparar un ejemplo JSON por tipo, no por valor exacto (tolerante - recomendado)",
19162
19162
  "+ Add interaction": "+ Añadir interacción",
19163
19163
  ERR: ERR$3,
19164
19164
  "▲ Hide sent request": "▲ Ocultar request enviada",
@@ -19190,7 +19190,7 @@ const es = {
19190
19190
  ":count operation clean|:count operations clean": ":count operación limpia|:count operaciones limpias",
19191
19191
  "All cases sent": "Todos los casos enviados",
19192
19192
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "No se hizo fuzzing a ninguna operación. Comprueba que las requests tengan cuerpo o una operación coincidente en la especificación.",
19193
- "Published :name@:version — :count contract(s) re-verified": "Se publicó :name@:version - :count contrato(s) reverificado(s)",
19193
+ "Published :name@:version - :count contract(s) re-verified": "Se publicó :name@:version - :count contrato(s) reverificado(s)",
19194
19194
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Proporciona una URL de especificación OpenAPI o elige una instantánea fijada para el modo proveedor / bidireccional.",
19195
19195
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Proporciona una URL base del proveedor (p. ej. http://localhost:3000) contra la que reproducir los contratos.",
19196
19196
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Proporciona una URL base del proveedor (p. ej. http://localhost:3000) contra la que hacer fuzzing.",
@@ -19529,7 +19529,7 @@ const es = {
19529
19529
  "Enable API Spector Cloud": "Habilitar API Spector Cloud",
19530
19530
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Envía mocks y monitores a una instancia alojada. Cuando está activado, aparecen acciones "Enviar a la nube" en los mocks y las requests.',
19531
19531
  "API token": "Token de API",
19532
- "•••••••• (saved — type to replace)": "•••••••• (guardado - escribe para reemplazar)",
19532
+ "•••••••• (saved - type to replace)": "•••••••• (guardado - escribe para reemplazar)",
19533
19533
  "Paste a token from the cloud dashboard": "Pega un token del panel de la nube",
19534
19534
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Se guarda en el llavero de tu SO, nunca en el archivo del espacio de trabajo. Crea uno en Tokens en el panel de la nube.",
19535
19535
  "Testing…": "Probando…",
@@ -19543,7 +19543,7 @@ const es = {
19543
19543
  "Add pattern…": "Añadir patrón…",
19544
19544
  Add: Add$3,
19545
19545
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Referencia secrets desde un gestor externo en lugar de almacenarlos. Pon una referencia como",
19546
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "en una variable de entorno o un campo de autenticación; se resuelve al enviar y nunca se escribe en el espacio de trabajo. Esta configuración de conexión no es secret - los tokens y los secret-ids provienen de tu entorno (o del inicio de sesión de Vault de abajo).",
19546
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "en una variable de entorno o un campo de autenticación; se resuelve al enviar y nunca se escribe en el espacio de trabajo. Esta configuración de conexión no es secret - los tokens y los secret-ids provienen de tu entorno (o del inicio de sesión de Vault de abajo).",
19547
19547
  "Address (VAULT_ADDR)": "Dirección (VAULT_ADDR)",
19548
19548
  Namespace: Namespace$3,
19549
19549
  "(Enterprise)": "(Enterprise)",
@@ -19899,7 +19899,7 @@ const es = {
19899
19899
  "No contract body schema defined yet": "Aún no hay esquema de cuerpo del contrato definido",
19900
19900
  "Derive from contract": "Derivar del contrato",
19901
19901
  Validate: Validate$3,
19902
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Independiente - las ediciones aquí no afectan al contrato. Usa “Derivar del contrato” para partir de él.",
19902
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Independiente - las ediciones aquí no afectan al contrato. Usa “Derivar del contrato” para partir de él.",
19903
19903
  "Format JSON": "Formatear JSON",
19904
19904
  "Valid: response matches the schema.": "Válido: la respuesta coincide con el esquema.",
19905
19905
  "Invalid: :count error|Invalid: :count errors": "No válido: :count error|No válido: :count errores",
@@ -20376,14 +20376,14 @@ const it = {
20376
20376
  Remove: Remove$2,
20377
20377
  "+ add": "+ aggiungi",
20378
20378
  "Saved :path in the workspace": "Salvato :path nel workspace",
20379
- "Could not create the mock — open a workspace first.": "Impossibile creare il mock. Apri prima un workspace.",
20379
+ "Could not create the mock - open a workspace first.": "Impossibile creare il mock. Apri prima un workspace.",
20380
20380
  ":consumer → :provider (contract mock)": ":consumer → :provider (mock del contratto)",
20381
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Mock creato con :count route. Apri il pannello Mock per eseguirlo|Mock creato con :count route. Apri il pannello Mock per eseguirlo",
20381
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Mock creato con :count route. Apri il pannello Mock per eseguirlo|Mock creato con :count route. Apri il pannello Mock per eseguirlo",
20382
20382
  "Published, but bi-directional check failed: :detail": "Pubblicato, ma il controllo bidirezionale non è riuscito: :detail",
20383
20383
  "see matrix": "vedi matrice",
20384
20384
  "Published :consumer@:version to the cloud": "Pubblicato :consumer@:version nel cloud",
20385
20385
  "Contract Designer": "Designer dei contratti",
20386
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Progetta in anticipo un contratto guidato dal consumer, senza bisogno di endpoint, poi pubblicalo su API Spector Cloud.",
20386
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Progetta in anticipo un contratto guidato dal consumer, senza bisogno di endpoint, poi pubblicalo su API Spector Cloud.",
20387
20387
  "New contract": "Nuovo contratto",
20388
20388
  "+ New": "+ Nuovo",
20389
20389
  "No contracts yet. Click": "Ancora nessun contratto. Clicca",
@@ -20401,23 +20401,23 @@ const it = {
20401
20401
  "Publishing…": "Pubblicazione…",
20402
20402
  "Publish to Cloud": "Pubblica sul cloud",
20403
20403
  Delete: Delete$2,
20404
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Non connesso ad API Spector Cloud. Connettiti in Impostazioni → Cloud per pubblicare. Puoi comunque progettare e salvare il contratto.",
20404
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Non connesso ad API Spector Cloud. Connettiti in Impostazioni → Cloud per pubblicare. Puoi comunque progettare e salvare il contratto.",
20405
20405
  "what this interaction is": "cos'è questa interazione",
20406
20406
  "Remove interaction": "Rimuovi interazione",
20407
- 'provider state (e.g. "brand 1 exists") — optional': 'stato del provider (es. "il brand 1 esiste") - facoltativo',
20407
+ 'provider state (e.g. "brand 1 exists") - optional': 'stato del provider (es. "il brand 1 esiste") - facoltativo',
20408
20408
  Request: Request$2,
20409
20409
  "Body (JSON, optional)": "Body (JSON, facoltativo)",
20410
20410
  "Expected response": "Risposta attesa",
20411
20411
  "expected status code": "codice di stato atteso",
20412
20412
  Body: Body$2,
20413
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - oppure un esempio JSON",
20413
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - oppure un esempio JSON",
20414
20414
  "A JSON example (matched by type when the toggle is on), or a": "Un esempio JSON (confrontato per tipo quando l'opzione è attiva), oppure una",
20415
20415
  "type shape": "struttura di tipi",
20416
20416
  "to check each property's type:": "per controllare il tipo di ogni proprietà:",
20417
20417
  "plus nested": "più annidati",
20418
20418
  ". E.g.": ". Es.",
20419
20419
  ". Compiles to Pact": ". Compila in Pact",
20420
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Confronta un esempio JSON per tipo, non per valore esatto (tollerante - consigliato)",
20420
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Confronta un esempio JSON per tipo, non per valore esatto (tollerante - consigliato)",
20421
20421
  "+ Add interaction": "+ Aggiungi interazione",
20422
20422
  ERR: ERR$2,
20423
20423
  "▲ Hide sent request": "▲ Nascondi request inviata",
@@ -20449,7 +20449,7 @@ const it = {
20449
20449
  ":count operation clean|:count operations clean": ":count operazione pulita|:count operazioni pulite",
20450
20450
  "All cases sent": "Tutti i casi inviati",
20451
20451
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "Nessuna operazione è stata sottoposta a fuzzing. Verifica che le requests abbiano un body o un'operazione corrispondente nella spec.",
20452
- "Published :name@:version — :count contract(s) re-verified": "Pubblicato :name@:version - :count contratto/i ri-verificati",
20452
+ "Published :name@:version - :count contract(s) re-verified": "Pubblicato :name@:version - :count contratto/i ri-verificati",
20453
20453
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Fornisci un URL di specifica OpenAPI o scegli uno snapshot fissato per la modalità provider / bidirezionale.",
20454
20454
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Fornisci un URL di base del provider (es. http://localhost:3000) su cui rieseguire i contratti.",
20455
20455
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Fornisci un URL di base del provider (es. http://localhost:3000) su cui eseguire il fuzzing.",
@@ -20788,7 +20788,7 @@ const it = {
20788
20788
  "Enable API Spector Cloud": "Abilita API Spector Cloud",
20789
20789
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': `Invia mock e monitor a un'istanza ospitata. Quando è attivo, le azioni "Push nel cloud" appaiono su mock e requests.`,
20790
20790
  "API token": "Token API",
20791
- "•••••••• (saved — type to replace)": "•••••••• (salvato - digita per sostituire)",
20791
+ "•••••••• (saved - type to replace)": "•••••••• (salvato - digita per sostituire)",
20792
20792
  "Paste a token from the cloud dashboard": "Incolla un token dalla dashboard del cloud",
20793
20793
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Memorizzato nel keychain del sistema operativo, mai nel file del workspace. Creane uno in Token nella dashboard del cloud.",
20794
20794
  "Testing…": "Test in corso…",
@@ -20802,7 +20802,7 @@ const it = {
20802
20802
  "Add pattern…": "Aggiungi pattern…",
20803
20803
  Add: Add$2,
20804
20804
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Fai riferimento ai secrets da un gestore esterno invece di memorizzarli. Inserisci un riferimento come",
20805
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "in una variabile d'ambiente o in un campo di autenticazione; viene risolto al momento dell'invio e mai scritto nel workspace. Questa configurazione di connessione non è secret - i token e i secret-id provengono dal tuo ambiente (o dall'accesso a Vault qui sotto).",
20805
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "in una variabile d'ambiente o in un campo di autenticazione; viene risolto al momento dell'invio e mai scritto nel workspace. Questa configurazione di connessione non è secret - i token e i secret-id provengono dal tuo ambiente (o dall'accesso a Vault qui sotto).",
20806
20806
  "Address (VAULT_ADDR)": "Indirizzo (VAULT_ADDR)",
20807
20807
  Namespace: Namespace$2,
20808
20808
  "(Enterprise)": "(Enterprise)",
@@ -21158,7 +21158,7 @@ const it = {
21158
21158
  "No contract body schema defined yet": "Ancora nessuno schema del body del contratto definito",
21159
21159
  "Derive from contract": "Deriva dal contratto",
21160
21160
  Validate: Validate$2,
21161
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autonomo - le modifiche qui non toccano il contratto. Usa “Deriva dal contratto” per partire da esso.",
21161
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autonomo - le modifiche qui non toccano il contratto. Usa “Deriva dal contratto” per partire da esso.",
21162
21162
  "Format JSON": "Formatta JSON",
21163
21163
  "Valid: response matches the schema.": "Valido: la risposta corrisponde allo schema.",
21164
21164
  "Invalid: :count error|Invalid: :count errors": "Non valido: :count errore|Non valido: :count errori",
@@ -21635,14 +21635,14 @@ const nl = {
21635
21635
  Remove: Remove$1,
21636
21636
  "+ add": "+ toevoegen",
21637
21637
  "Saved :path in the workspace": ":path opgeslagen in de werkruimte",
21638
- "Could not create the mock — open a workspace first.": "Kon de mock niet aanmaken. Open eerst een werkruimte.",
21638
+ "Could not create the mock - open a workspace first.": "Kon de mock niet aanmaken. Open eerst een werkruimte.",
21639
21639
  ":consumer → :provider (contract mock)": ":consumer → :provider (contractmock)",
21640
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Mock aangemaakt met :count route. Open het paneel Mocks om deze uit te voeren.|Mock aangemaakt met :count routes. Open het paneel Mocks om deze uit te voeren.",
21640
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Mock aangemaakt met :count route. Open het paneel Mocks om deze uit te voeren.|Mock aangemaakt met :count routes. Open het paneel Mocks om deze uit te voeren.",
21641
21641
  "Published, but bi-directional check failed: :detail": "Gepubliceerd, maar bidirectionele controle mislukt: :detail",
21642
21642
  "see matrix": "zie matrix",
21643
21643
  "Published :consumer@:version to the cloud": ":consumer@:version gepubliceerd naar de cloud",
21644
21644
  "Contract Designer": "Contractontwerper",
21645
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Ontwerp vooraf een consumer-driven contract, geen endpoint nodig, en publiceer het vervolgens naar API Spector Cloud.",
21645
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Ontwerp vooraf een consumer-driven contract, geen endpoint nodig, en publiceer het vervolgens naar API Spector Cloud.",
21646
21646
  "New contract": "Nieuw contract",
21647
21647
  "+ New": "+ Nieuw",
21648
21648
  "No contracts yet. Click": "Nog geen contracten. Klik",
@@ -21660,23 +21660,23 @@ const nl = {
21660
21660
  "Publishing…": "Publiceren…",
21661
21661
  "Publish to Cloud": "Publiceren naar Cloud",
21662
21662
  Delete: Delete$1,
21663
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Niet verbonden met API Spector Cloud. Maak verbinding via Instellingen → Cloud om te publiceren. U kunt het contract nog steeds ontwerpen en opslaan.",
21663
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Niet verbonden met API Spector Cloud. Maak verbinding via Instellingen → Cloud om te publiceren. U kunt het contract nog steeds ontwerpen en opslaan.",
21664
21664
  "what this interaction is": "wat deze interactie is",
21665
21665
  "Remove interaction": "Interactie verwijderen",
21666
- 'provider state (e.g. "brand 1 exists") — optional': 'provider state (bijv. "merk 1 bestaat") - optioneel',
21666
+ 'provider state (e.g. "brand 1 exists") - optional': 'provider state (bijv. "merk 1 bestaat") - optioneel',
21667
21667
  Request: Request$1,
21668
21668
  "Body (JSON, optional)": "Body (JSON, optioneel)",
21669
21669
  "Expected response": "Verwachte respons",
21670
21670
  "expected status code": "verwachte statuscode",
21671
21671
  Body: Body$1,
21672
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - of een JSON-voorbeeld",
21672
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - of een JSON-voorbeeld",
21673
21673
  "A JSON example (matched by type when the toggle is on), or a": "Een JSON-voorbeeld (op type gematcht wanneer de schakelaar aan staat), of een",
21674
21674
  "type shape": "typevorm",
21675
21675
  "to check each property's type:": "om het type van elke eigenschap te controleren:",
21676
21676
  "plus nested": "plus geneste",
21677
21677
  ". E.g.": ". Bijv.",
21678
21678
  ". Compiles to Pact": ". Compileert naar Pact",
21679
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Match een JSON-voorbeeld op type, niet op exacte waarde (tolerant - aanbevolen)",
21679
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Match een JSON-voorbeeld op type, niet op exacte waarde (tolerant - aanbevolen)",
21680
21680
  "+ Add interaction": "+ Interactie toevoegen",
21681
21681
  ERR: ERR$1,
21682
21682
  "▲ Hide sent request": "▲ Verzonden request verbergen",
@@ -21708,7 +21708,7 @@ const nl = {
21708
21708
  ":count operation clean|:count operations clean": ":count operatie schoon|:count operaties schoon",
21709
21709
  "All cases sent": "Alle gevallen verzonden",
21710
21710
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "Er zijn geen operaties gefuzzt. Controleer of requests een body of een bijbehorende spec-operatie hebben.",
21711
- "Published :name@:version — :count contract(s) re-verified": ":name@:version gepubliceerd - :count contract(en) opnieuw geverifieerd",
21711
+ "Published :name@:version - :count contract(s) re-verified": ":name@:version gepubliceerd - :count contract(en) opnieuw geverifieerd",
21712
21712
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Geef een OpenAPI-spec-URL op of kies een vastgezette snapshot voor provider- / bidirectionele modus.",
21713
21713
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Geef een provider-basis-URL op (bijv. http://localhost:3000) om contracten tegen af te spelen.",
21714
21714
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Geef een provider-basis-URL op (bijv. http://localhost:3000) om tegen te fuzzen.",
@@ -22047,7 +22047,7 @@ const nl = {
22047
22047
  "Enable API Spector Cloud": "API Spector Cloud inschakelen",
22048
22048
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Push mocks en monitors naar een gehoste instantie. Wanneer ingeschakeld verschijnen "Push naar cloud"-acties op mocks en requests.',
22049
22049
  "API token": "API-token",
22050
- "•••••••• (saved — type to replace)": "•••••••• (opgeslagen - typ om te vervangen)",
22050
+ "•••••••• (saved - type to replace)": "•••••••• (opgeslagen - typ om te vervangen)",
22051
22051
  "Paste a token from the cloud dashboard": "Plak een token uit het cloud-dashboard",
22052
22052
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Opgeslagen in uw OS-keychain, nooit in het werkruimtebestand. Maak er een aan onder Tokens in het cloud-dashboard.",
22053
22053
  "Testing…": "Testen…",
@@ -22061,7 +22061,7 @@ const nl = {
22061
22061
  "Add pattern…": "Patroon toevoegen…",
22062
22062
  Add: Add$1,
22063
22063
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Verwijs naar secrets uit een externe manager in plaats van ze op te slaan. Plaats een verwijzing zoals",
22064
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "in een omgevingsvariabele of een auth-veld; deze wordt bij verzenden opgelost en nooit naar de werkruimte geschreven. Deze verbindingsconfiguratie is niet-secret - tokens en secret-id's komen uit uw omgeving (of de Vault-aanmelding hieronder).",
22064
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "in een omgevingsvariabele of een auth-veld; deze wordt bij verzenden opgelost en nooit naar de werkruimte geschreven. Deze verbindingsconfiguratie is niet-secret - tokens en secret-id's komen uit uw omgeving (of de Vault-aanmelding hieronder).",
22065
22065
  "Address (VAULT_ADDR)": "Adres (VAULT_ADDR)",
22066
22066
  Namespace: Namespace$1,
22067
22067
  "(Enterprise)": "(Enterprise)",
@@ -22417,7 +22417,7 @@ const nl = {
22417
22417
  "No contract body schema defined yet": "Nog geen contract-body-schema gedefinieerd",
22418
22418
  "Derive from contract": "Afleiden uit contract",
22419
22419
  Validate: Validate$1,
22420
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Standalone - bewerkingen hier raken het contract niet. Gebruik “Afleiden uit contract” om ermee te beginnen.",
22420
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Standalone - bewerkingen hier raken het contract niet. Gebruik “Afleiden uit contract” om ermee te beginnen.",
22421
22421
  "Format JSON": "JSON formatteren",
22422
22422
  "Valid: response matches the schema.": "Geldig: respons komt overeen met het schema.",
22423
22423
  "Invalid: :count error|Invalid: :count errors": "Ongeldig: :count fout|Ongeldig: :count fouten",
@@ -22894,14 +22894,14 @@ const pt = {
22894
22894
  Remove,
22895
22895
  "+ add": "+ adicionar",
22896
22896
  "Saved :path in the workspace": "Guardado :path no espaço de trabalho",
22897
- "Could not create the mock — open a workspace first.": "Não foi possível criar o mock. Abra primeiro um espaço de trabalho.",
22897
+ "Could not create the mock - open a workspace first.": "Não foi possível criar o mock. Abra primeiro um espaço de trabalho.",
22898
22898
  ":consumer → :provider (contract mock)": ":consumer → :provider (mock de contrato)",
22899
- "Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it": "Mock criado com :count rota. Abra o painel Mocks para o executar|Mock criado com :count rotas. Abra o painel Mocks para o executar",
22899
+ "Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it": "Mock criado com :count rota. Abra o painel Mocks para o executar|Mock criado com :count rotas. Abra o painel Mocks para o executar",
22900
22900
  "Published, but bi-directional check failed: :detail": "Publicado, mas a verificação bidirecional falhou: :detail",
22901
22901
  "see matrix": "ver matriz",
22902
22902
  "Published :consumer@:version to the cloud": "Publicado :consumer@:version na cloud",
22903
22903
  "Contract Designer": "Editor de contratos",
22904
- "Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud.": "Desenhe antecipadamente um contrato orientado pelo consumidor, sem necessidade de endpoint, e depois publique-o na API Spector Cloud.",
22904
+ "Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud.": "Desenhe antecipadamente um contrato orientado pelo consumidor, sem necessidade de endpoint, e depois publique-o na API Spector Cloud.",
22905
22905
  "New contract": "Novo contrato",
22906
22906
  "+ New": "+ Novo",
22907
22907
  "No contracts yet. Click": "Ainda não há contratos. Clique",
@@ -22919,23 +22919,23 @@ const pt = {
22919
22919
  "Publishing…": "A publicar…",
22920
22920
  "Publish to Cloud": "Publicar na Cloud",
22921
22921
  Delete,
22922
- "Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.": "Não está ligado à API Spector Cloud. Ligue-se em Definições → Cloud para publicar. Pode continuar a desenhar e a guardar o contrato.",
22922
+ "Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.": "Não está ligado à API Spector Cloud. Ligue-se em Definições → Cloud para publicar. Pode continuar a desenhar e a guardar o contrato.",
22923
22923
  "what this interaction is": "o que é esta interação",
22924
22924
  "Remove interaction": "Remover interação",
22925
- 'provider state (e.g. "brand 1 exists") — optional': 'estado do fornecedor (ex.: "brand 1 exists") - opcional',
22925
+ 'provider state (e.g. "brand 1 exists") - optional': 'estado do fornecedor (ex.: "brand 1 exists") - opcional',
22926
22926
  Request,
22927
22927
  "Body (JSON, optional)": "Corpo (JSON, opcional)",
22928
22928
  "Expected response": "Resposta esperada",
22929
22929
  "expected status code": "código de estado esperado",
22930
22930
  Body,
22931
- "[{ id: string, name: string, slug: string }] — or a JSON example": "[{ id: string, name: string, slug: string }] - ou um exemplo JSON",
22931
+ "[{ id: string, name: string, slug: string }] - or a JSON example": "[{ id: string, name: string, slug: string }] - ou um exemplo JSON",
22932
22932
  "A JSON example (matched by type when the toggle is on), or a": "Um exemplo JSON (correspondido por tipo quando a opção está ativa), ou uma",
22933
22933
  "type shape": "estrutura de tipos",
22934
22934
  "to check each property's type:": "para verificar o tipo de cada propriedade:",
22935
22935
  "plus nested": "além de aninhados",
22936
22936
  ". E.g.": ". Ex.:",
22937
22937
  ". Compiles to Pact": ". Compila para Pact",
22938
- "Match a JSON example by type, not exact value (tolerant — recommended)": "Corresponder um exemplo JSON por tipo, não pelo valor exato (tolerante - recomendado)",
22938
+ "Match a JSON example by type, not exact value (tolerant - recommended)": "Corresponder um exemplo JSON por tipo, não pelo valor exato (tolerante - recomendado)",
22939
22939
  "+ Add interaction": "+ Adicionar interação",
22940
22940
  ERR,
22941
22941
  "▲ Hide sent request": "▲ Ocultar request enviado",
@@ -22967,7 +22967,7 @@ const pt = {
22967
22967
  ":count operation clean|:count operations clean": ":count operação sem problemas|:count operações sem problemas",
22968
22968
  "All cases sent": "Todos os casos enviados",
22969
22969
  "No operations were fuzzed. Check that requests have a body or a matching spec operation.": "Nenhuma operação foi sujeita a fuzzing. Verifique se os requests têm um corpo ou uma operação correspondente na especificação.",
22970
- "Published :name@:version — :count contract(s) re-verified": "Publicado :name@:version - :count contrato(s) reverificado(s)",
22970
+ "Published :name@:version - :count contract(s) re-verified": "Publicado :name@:version - :count contrato(s) reverificado(s)",
22971
22971
  "Provide an OpenAPI spec URL or pick a pinned snapshot for provider / bi-directional mode.": "Indique um URL de especificação OpenAPI ou escolha um snapshot fixado para o modo fornecedor / bidirecional.",
22972
22972
  "Provide a provider base URL (e.g. http://localhost:3000) to replay contracts against.": "Indique um URL base do fornecedor (ex.: http://localhost:3000) para reproduzir os contratos.",
22973
22973
  "Provide a provider base URL (e.g. http://localhost:3000) to fuzz against.": "Indique um URL base do fornecedor (ex.: http://localhost:3000) para fazer fuzzing.",
@@ -23306,7 +23306,7 @@ const pt = {
23306
23306
  "Enable API Spector Cloud": "Ativar a API Spector Cloud",
23307
23307
  'Push mocks and monitors to a hosted instance. When on, "Push to cloud" actions appear on mocks and requests.': 'Envie mocks e monitores para uma instância alojada. Quando ativado, as ações "Enviar para a cloud" aparecem nos mocks e nos requests.',
23308
23308
  "API token": "Token da API",
23309
- "•••••••• (saved — type to replace)": "•••••••• (guardado - escreva para substituir)",
23309
+ "•••••••• (saved - type to replace)": "•••••••• (guardado - escreva para substituir)",
23310
23310
  "Paste a token from the cloud dashboard": "Cole um token do painel da cloud",
23311
23311
  "Stored in your OS keychain, never in the workspace file. Create one under Tokens in the cloud dashboard.": "Guardado no chaveiro do seu SO, nunca no ficheiro do espaço de trabalho. Crie um em Tokens no painel da cloud.",
23312
23312
  "Testing…": "A testar…",
@@ -23320,7 +23320,7 @@ const pt = {
23320
23320
  "Add pattern…": "Adicionar padrão…",
23321
23321
  Add,
23322
23322
  "Reference secrets from an external manager instead of storing them. Put a reference like": "Referencie secrets de um gestor externo em vez de os guardar. Coloque uma referência como",
23323
- "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).": "numa variável de ambiente ou num campo de autenticação; é resolvida no momento do envio e nunca escrita no espaço de trabalho. Esta configuração de ligação não é secret - os tokens e os secret-ids vêm do seu ambiente (ou do início de sessão no Vault abaixo).",
23323
+ "in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).": "numa variável de ambiente ou num campo de autenticação; é resolvida no momento do envio e nunca escrita no espaço de trabalho. Esta configuração de ligação não é secret - os tokens e os secret-ids vêm do seu ambiente (ou do início de sessão no Vault abaixo).",
23324
23324
  "Address (VAULT_ADDR)": "Endereço (VAULT_ADDR)",
23325
23325
  Namespace,
23326
23326
  "(Enterprise)": "(Enterprise)",
@@ -23676,7 +23676,7 @@ const pt = {
23676
23676
  "No contract body schema defined yet": "Ainda não há esquema de corpo de contrato definido",
23677
23677
  "Derive from contract": "Derivar do contrato",
23678
23678
  Validate,
23679
- "Standalone — edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autónomo - as edições aqui não afetam o contrato. Use “Derivar do contrato” para começar a partir dele.",
23679
+ "Standalone - edits here don't touch the contract. Use “Derive from contract” to start from it.": "Autónomo - as edições aqui não afetam o contrato. Use “Derivar do contrato” para começar a partir dele.",
23680
23680
  "Format JSON": "Formatar JSON",
23681
23681
  "Valid: response matches the schema.": "Válido: a resposta corresponde ao esquema.",
23682
23682
  "Invalid: :count error|Invalid: :count errors": "Inválido: :count erro|Inválido: :count erros",
@@ -27438,8 +27438,8 @@ function jsonWithComments() {
27438
27438
  function xmlWithComments() {
27439
27439
  return [xml(), commentKeymap];
27440
27440
  }
27441
- const GraphQLEditor = reactExports.lazy(() => __vitePreload(() => import("./GraphQLEditor-1bHxSsva.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.GraphQLEditor })));
27442
- const SoapEditor = reactExports.lazy(() => __vitePreload(() => import("./SoapEditor-DvPgkPUy.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.SoapEditor })));
27441
+ const GraphQLEditor = reactExports.lazy(() => __vitePreload(() => import("./GraphQLEditor-DVmXF8Zt.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.GraphQLEditor })));
27442
+ const SoapEditor = reactExports.lazy(() => __vitePreload(() => import("./SoapEditor-Dnt4GqdH.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.SoapEditor })));
27443
27443
  function BodyTab({ request: request2, onChange }) {
27444
27444
  const t = useT();
27445
27445
  const editorFallback = /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 text-xs text-surface-500", children: t("Loading editor…") });
@@ -32600,7 +32600,7 @@ function WelcomeScreen() {
32600
32600
  )
32601
32601
  ] }),
32602
32602
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-surface-400 text-sm max-w-sm", children: t("Local-first API testing with Robot Framework & Playwright code generation. Secrets stay on your machine.") }),
32603
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] mt-3", style: { color: "var(--text-muted)" }, children: t("version :version", { version: "0.6.9" }) })
32603
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] mt-3", style: { color: "var(--text-muted)" }, children: t("version :version", { version: "0.7.0" }) })
32604
32604
  ] }),
32605
32605
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-3 w-64", children: [
32606
32606
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -33878,7 +33878,7 @@ function WorkspaceSettingsModal({ onClose }) {
33878
33878
  type: "password",
33879
33879
  value: cloudToken,
33880
33880
  onChange: (e) => setCloudToken(e.target.value),
33881
- placeholder: cloudTokenSet ? t("•••••••• (saved — type to replace)") : t("Paste a token from the cloud dashboard"),
33881
+ placeholder: cloudTokenSet ? t("•••••••• (saved - type to replace)") : t("Paste a token from the cloud dashboard"),
33882
33882
  className: `${inputCls} placeholder-surface-600`
33883
33883
  }
33884
33884
  ),
@@ -33964,7 +33964,7 @@ function WorkspaceSettingsModal({ onClose }) {
33964
33964
  type: "password",
33965
33965
  value: aiKey,
33966
33966
  onChange: (e) => setAiKey(e.target.value),
33967
- placeholder: aiKeySet ? t("•••••••• (stored in keychain — type to replace)") : "sk-...",
33967
+ placeholder: aiKeySet ? t("•••••••• (stored in keychain - type to replace)") : "sk-...",
33968
33968
  autoComplete: "off",
33969
33969
  className: `${inputCls} placeholder-surface-600`
33970
33970
  }
@@ -34036,7 +34036,7 @@ function WorkspaceSettingsModal({ onClose }) {
34036
34036
  " ",
34037
34037
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-surface-400", children: "vault:secret/data/app#token" }),
34038
34038
  " ",
34039
- t("in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret — tokens and secret-ids come from your environment (or the Vault sign-in below).")
34039
+ t("in an environment variable or an auth field; it is resolved at send-time and never written to the workspace. This connection config is non-secret - tokens and secret-ids come from your environment (or the Vault sign-in below).")
34040
34040
  ] }),
34041
34041
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-2 border border-surface-800 rounded p-3", children: [
34042
34042
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[10px] uppercase tracking-wider text-surface-500 font-semibold", children: "HashiCorp Vault" }),
@@ -38860,7 +38860,7 @@ function ContractPanel() {
38860
38860
  version: specVersion.trim(),
38861
38861
  specUrl: specUrl.trim()
38862
38862
  });
38863
- setPublishNote(t("Published :name@:version — :count contract(s) re-verified", { name: providerName.trim(), version: specVersion.trim(), count: res.verified_contracts }));
38863
+ setPublishNote(t("Published :name@:version - :count contract(s) re-verified", { name: providerName.trim(), version: specVersion.trim(), count: res.verified_contracts }));
38864
38864
  } catch (e) {
38865
38865
  setError(e.message);
38866
38866
  } finally {
@@ -39510,7 +39510,7 @@ function ContractDesignerModal({ seed, onClose }) {
39510
39510
  const id = st.activeMockId;
39511
39511
  const entry = id ? st.mocks[id] : null;
39512
39512
  if (!id || !entry) {
39513
- show(t("Could not create the mock — open a workspace first."), false);
39513
+ show(t("Could not create the mock - open a workspace first."), false);
39514
39514
  return;
39515
39515
  }
39516
39516
  const mock = { ...designContractToMock(selected), id, name: t(":consumer → :provider (contract mock)", { consumer: selected.consumer, provider: selected.provider }) };
@@ -39518,7 +39518,7 @@ function ContractDesignerModal({ seed, onClose }) {
39518
39518
  await electron$5.saveMock(entry.relPath, mock);
39519
39519
  const ws = useStore.getState().workspace;
39520
39520
  if (ws) await electron$5.saveWorkspace(ws);
39521
- show(t("Created mock with :count route — open the Mocks panel to run it|Created mock with :count routes — open the Mocks panel to run it", { count: mock.routes.length }), true);
39521
+ show(t("Created mock with :count route - open the Mocks panel to run it|Created mock with :count routes - open the Mocks panel to run it", { count: mock.routes.length }), true);
39522
39522
  } catch (e) {
39523
39523
  show(e.message, false);
39524
39524
  }
@@ -39546,7 +39546,7 @@ function ContractDesignerModal({ seed, onClose }) {
39546
39546
  {
39547
39547
  onClose,
39548
39548
  title: t("Contract Designer"),
39549
- subtitle: t("Design a consumer-driven contract up front — no endpoint required — then publish it to API Spector Cloud."),
39549
+ subtitle: t("Design a consumer-driven contract up front - no endpoint required - then publish it to API Spector Cloud."),
39550
39550
  panelClassName: "bg-surface-900 border border-surface-700 rounded-xl w-[min(1000px,94vw)] h-[min(760px,90vh)] flex flex-col",
39551
39551
  children: [
39552
39552
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-1 min-h-0", children: [
@@ -39657,7 +39657,7 @@ function ContractDesignerModal({ seed, onClose }) {
39657
39657
  )
39658
39658
  ] })
39659
39659
  ] }),
39660
- !cloudConnected && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "px-4 py-1.5 text-[11px] text-amber-400 bg-amber-950/20 border-b border-surface-800", children: t("Not connected to API Spector Cloud — connect in Settings → Cloud to publish. You can still design and save the contract.") }),
39660
+ !cloudConnected && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "px-4 py-1.5 text-[11px] text-amber-400 bg-amber-950/20 border-b border-surface-800", children: t("Not connected to API Spector Cloud - connect in Settings → Cloud to publish. You can still design and save the contract.") }),
39661
39661
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto px-4 py-3 flex flex-col gap-4", children: [
39662
39662
  selected.interactions.map((it2, ix) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border border-surface-800 rounded-lg p-3 flex flex-col gap-2.5", children: [
39663
39663
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -39705,7 +39705,7 @@ function ContractDesignerModal({ seed, onClose }) {
39705
39705
  {
39706
39706
  value: it2.providerState ?? "",
39707
39707
  onChange: (e) => patchInteraction(ix, { providerState: e.target.value }),
39708
- placeholder: t('provider state (e.g. "brand 1 exists") — optional'),
39708
+ placeholder: t('provider state (e.g. "brand 1 exists") - optional'),
39709
39709
  className: "text-xs bg-surface-800 border border-surface-700 rounded px-2 py-1 focus:outline-none focus:border-blue-500"
39710
39710
  }
39711
39711
  ),
@@ -39779,7 +39779,7 @@ function ContractDesignerModal({ seed, onClose }) {
39779
39779
  value: it2.response.body ?? "",
39780
39780
  onChange: (e) => patchInteraction(ix, { response: { ...it2.response, body: e.target.value } }),
39781
39781
  rows: 3,
39782
- placeholder: t("[{ id: string, name: string, slug: string }] — or a JSON example"),
39782
+ placeholder: t("[{ id: string, name: string, slug: string }] - or a JSON example"),
39783
39783
  spellCheck: false,
39784
39784
  className: "text-[11px] font-mono bg-surface-800 border border-surface-700 rounded px-2 py-1.5 focus:outline-none focus:border-blue-500 resize-y"
39785
39785
  }
@@ -39819,7 +39819,7 @@ function ContractDesignerModal({ seed, onClose }) {
39819
39819
  className: "accent-blue-500"
39820
39820
  }
39821
39821
  ),
39822
- t("Match a JSON example by type, not exact value (tolerant — recommended)")
39822
+ t("Match a JSON example by type, not exact value (tolerant - recommended)")
39823
39823
  ] })
39824
39824
  ] }, it2.id)),
39825
39825
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -41667,7 +41667,7 @@ function App() {
41667
41667
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { color: "#6aa3c8" }, children: "Spector" }),
41668
41668
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-2 text-[10px] font-normal opacity-50", children: [
41669
41669
  "v",
41670
- "0.6.9"
41670
+ "0.7.0"
41671
41671
  ] }),
41672
41672
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "mx-2 opacity-30", children: "·" }),
41673
41673
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -5,7 +5,7 @@
5
5
  <meta charset="UTF-8" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>API Spector</title>
8
- <script type="module" crossorigin src="./assets/index-1jxnGx99.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-Bquy5IRN.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="./assets/codemirror-F6m3Hm1M.js">
10
10
  <link rel="modulepreload" crossorigin href="./assets/ajv-2MAg6kGF.js">
11
11
  <link rel="stylesheet" crossorigin href="./assets/index-DfWnNkH3.css">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@testsmith/api-spector",
3
3
  "productName": "API Spector",
4
- "version": "0.6.9",
4
+ "version": "0.7.0",
5
5
  "description": "Local-first API testing tool to inspect, test and mock APIs",
6
6
  "repository": {
7
7
  "type": "git",