archal 0.9.20 → 0.10.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 (90) hide show
  1. package/README.md +59 -159
  2. package/agents/openclaw/Dockerfile +2 -1
  3. package/agents/openclaw/README.md +10 -17
  4. package/agents/openclaw/drive.mjs +21 -31
  5. package/agents/openclaw/extract-openclaw-response-text.mjs +49 -0
  6. package/agents/openclaw/scenarios/acceptance/github-escalation-and-cleanup.md +43 -0
  7. package/agents/openclaw/scenarios/acceptance/jira-linear-release-triage.md +39 -0
  8. package/agents/openclaw/scenarios/acceptance/multi-clone-customer-risk-review.md +45 -0
  9. package/agents/openclaw/scenarios/acceptance/slack-incident-handoff.md +42 -0
  10. package/agents/openclaw/scenarios/acceptance/stripe-dunning-remediation.md +40 -0
  11. package/agents/openclaw/scenarios/close-stale-issues.md +35 -0
  12. package/agents/openclaw/workspace/TOOLS.md +19 -0
  13. package/clone-assets/calcom/tools.json +1705 -153
  14. package/clone-assets/clickup/tools.json +2528 -541
  15. package/clone-assets/customerio/tools.json +2108 -144
  16. package/clone-assets/github/tools.json +1 -2
  17. package/clone-assets/gitlab/tools.json +10087 -398
  18. package/clone-assets/hubspot/tools.json +198 -0
  19. package/clone-assets/linear/tools.json +41 -1
  20. package/clone-assets/sentry/tools.json +2264 -188
  21. package/clone-assets/stripe/tools.json +114 -0
  22. package/clone-assets/webflow/tools.json +1895 -125
  23. package/dist/{autoloop-worker-types-BEb_E44z.d.cts → autoloop-worker-types-CHaclqtD.d.cts} +23 -59
  24. package/dist/cli.cjs +107175 -126959
  25. package/dist/commands/{autoloop-hosted-worker.cjs → autoloop-hosted-control-plane-client.cjs} +25657 -42736
  26. package/dist/commands/{autoloop-hosted-worker.d.cts → autoloop-hosted-control-plane-client.d.cts} +32 -42
  27. package/dist/commands/autoloop-pr-verification.cjs +607 -522
  28. package/dist/commands/autoloop-pr-verification.d.cts +3 -1
  29. package/dist/commands/autoloop-result-parser.cjs +2474 -2373
  30. package/dist/commands/autoloop-result-parser.d.cts +159 -2
  31. package/dist/commands/autoloop-worker.cjs +14565 -12240
  32. package/dist/commands/autoloop-worker.d.cts +10 -5
  33. package/dist/eval-shim.mjs +216 -0
  34. package/dist/index.cjs +15 -2
  35. package/dist/index.d.cts +3 -1
  36. package/dist/layer-1-ziaLpfLr.d.cts +62 -0
  37. package/dist/metafile-cjs.json +1 -0
  38. package/dist/reporter-entry.js +3 -0
  39. package/dist/{replay.cjs → sdk/index.cjs} +42979 -40973
  40. package/dist/sdk/index.d.cts +626 -0
  41. package/dist/vitest/{chunk-6CBYFCFK.js → chunk-2PDHTPZC.js} +289 -89
  42. package/dist/vitest/{chunk-ARVS45PP.js → chunk-7L4BBB6M.js} +123 -274
  43. package/dist/vitest/index.cjs +500 -816
  44. package/dist/vitest/index.d.ts +16 -81
  45. package/dist/vitest/index.js +40 -409
  46. package/dist/vitest/runtime/hosted-session-reaper.cjs +143 -293
  47. package/dist/vitest/runtime/hosted-session-reaper.js +1 -1
  48. package/dist/vitest/runtime/setup-files.js +2 -2
  49. package/manifest.json +9 -0
  50. package/package.json +14 -13
  51. package/skills/archal-agent/SKILL.md +0 -1
  52. package/skills/autoloop/SKILL.md +288 -273
  53. package/skills/autoloop/references/hosted-sources.md +49 -17
  54. package/skills/autoloop/references/trace-schema-mapping.md +83 -52
  55. package/skills/eval/SKILL.md +16 -48
  56. package/skills/free-account/SKILL.md +103 -0
  57. package/skills/install-agent/SKILL.md +16 -35
  58. package/skills/onboard/SKILL.md +13 -70
  59. package/skills/scenario/SKILL.md +30 -27
  60. package/skills/seed/SKILL.md +7 -6
  61. package/skills/vitest/SKILL.md +3 -2
  62. package/agents/github-octokit/.archal.json +0 -8
  63. package/agents/github-octokit/Dockerfile +0 -8
  64. package/agents/github-octokit/README.md +0 -113
  65. package/agents/github-octokit/agent.mjs +0 -54
  66. package/agents/github-octokit/package.json +0 -9
  67. package/agents/github-octokit/scenarios/test-repo-access.md +0 -27
  68. package/agents/google-workspace-local-tools/Dockerfile +0 -6
  69. package/agents/google-workspace-local-tools/README.md +0 -58
  70. package/agents/google-workspace-local-tools/agent.mjs +0 -196
  71. package/agents/google-workspace-local-tools/archal-harness.json +0 -7
  72. package/agents/google-workspace-local-tools/run-input.yaml +0 -16
  73. package/agents/google-workspace-local-tools/scenario.md +0 -29
  74. package/agents/hermes/.archal.json +0 -8
  75. package/agents/hermes/Dockerfile +0 -46
  76. package/agents/hermes/README.md +0 -87
  77. package/agents/hermes/SOUL.md +0 -27
  78. package/agents/hermes/config.yaml +0 -34
  79. package/agents/hermes/drive.mjs +0 -113
  80. package/agents/hermes/scenarios/stripe-customers-read-only.md +0 -32
  81. package/agents/pagination-test/README.md +0 -24
  82. package/agents/pagination-test/scenario.md +0 -24
  83. package/agents/replay-capsule-harness/README.md +0 -29
  84. package/agents/replay-capsule-harness/observability-install-offline-e2e.mts +0 -1517
  85. package/agents/replay-capsule-harness/replay-capsule-e2e.mjs +0 -104
  86. package/dist/harness.cjs +0 -63
  87. package/dist/harness.d.cts +0 -20
  88. package/dist/replay.d.cts +0 -4625
  89. package/dist/scenarios.cjs +0 -80343
  90. package/dist/scenarios.d.cts +0 -562
@@ -9,16 +9,16 @@ import {
9
9
  createHostedAuthLease,
10
10
  decodeConfig,
11
11
  fileExists,
12
+ getConfiguredVitestApiBaseUrl,
12
13
  getSessionIdFilePath,
13
14
  isProcessAlive,
14
15
  loadFileSeedsIntoClones,
15
- normalizeApiBaseUrl,
16
16
  parsePositiveInteger,
17
17
  redactSessionSnapshot,
18
18
  requestedSeedsMatchSession,
19
19
  sleep,
20
20
  trimEnv
21
- } from "./chunk-ARVS45PP.js";
21
+ } from "./chunk-7L4BBB6M.js";
22
22
 
23
23
  // src/runtime-module-resolution.ts
24
24
  import { dirname, extname, isAbsolute, resolve } from "path";
@@ -39,22 +39,6 @@ function resolveRuntimeModule(relativePath, buildExtension) {
39
39
  return resolveRuntimeModuleFromFile(currentModuleFile, relativePath, buildExtension);
40
40
  }
41
41
 
42
- // src/runtime/session-snapshot.ts
43
- var ARCHAL_VITEST_CONFIG_ENV = "ARCHAL_VITEST_CONFIG";
44
- function readArchalVitestConfigFromEnv() {
45
- const encoded = process.env[ARCHAL_VITEST_CONFIG_ENV];
46
- if (!encoded) {
47
- throw new Error(`Missing ${ARCHAL_VITEST_CONFIG_ENV}. archalVitestProject() must set worker config before bootstrap.`);
48
- }
49
- return readArchalVitestConfig(encoded);
50
- }
51
- function readArchalVitestConfig(encoded) {
52
- if (!encoded) {
53
- throw new Error(`Missing ${ARCHAL_VITEST_CONFIG_ENV}. archalVitestProject() must set worker config before bootstrap.`);
54
- }
55
- return decodeConfig(encoded);
56
- }
57
-
58
42
  // ../route-runtime-core/src/errors.ts
59
43
  var RouteRuntimePolicyError = class extends Error {
60
44
  code;
@@ -371,9 +355,9 @@ var githubRouteManifest = {
371
355
  manifestVersion: "2026-04-02.github.v1",
372
356
  baselineSeed: "small-project",
373
357
  routeDomains: [
358
+ exactDomain("github.com"),
374
359
  exactDomain("api.github.com"),
375
360
  exactDomain("uploads.github.com"),
376
- exactDomain("github.com"),
377
361
  exactDomain("raw.githubusercontent.com")
378
362
  ],
379
363
  // Block adjacent GitHub-owned domains that tests don't need. Keep raw
@@ -386,7 +370,6 @@ var githubRouteManifest = {
386
370
  ],
387
371
  routePathRewrite: rewriteGitHubRawContentPath,
388
372
  warningDomains: [
389
- suffixDomain("github.com"),
390
373
  suffixDomain("githubusercontent.com")
391
374
  ],
392
375
  diagnostics: {
@@ -1721,8 +1704,49 @@ var ROUTE_RUNTIME_DISPATCHING_ROUTE_KINDS = new Set(ROUTE_RUNTIME_PUBLIC_ROUTE_K
1721
1704
  // ../route-runtime-core/src/service-profiles/stripe.ts
1722
1705
  var stripeCompatibilityProfile = buildServiceCompatibilityProfile(stripeRouteManifest);
1723
1706
 
1724
- // ../../clones/core/dist/chunk-FBW6QFHJ.js
1707
+ // ../../clones/core/dist/chunk-457KV5BB.js
1725
1708
  var manifest_default = [
1709
+ {
1710
+ name: "agentmail",
1711
+ package: "@archal/clone-agentmail",
1712
+ path: "clones/agentmail",
1713
+ stage: "internal",
1714
+ transport: "rest",
1715
+ hostedRuntime: {
1716
+ enabled: true,
1717
+ requiresDist: true,
1718
+ requiresEmptySeed: true
1719
+ },
1720
+ cli: {
1721
+ bundleAssets: false,
1722
+ bundleToolSnapshot: false
1723
+ },
1724
+ routeProxy: {
1725
+ enabled: false,
1726
+ domains: []
1727
+ },
1728
+ seeds: {
1729
+ generatedCatalog: false,
1730
+ default: "empty"
1731
+ },
1732
+ smoke: {
1733
+ production: "none"
1734
+ },
1735
+ architecture: {
1736
+ class: "replay-shell",
1737
+ summary: "AgentMail (api.agentmail.to /v0) replay-shell ported from the forge lineage: REST routes replay the harvested recording corpus with per-operation response shaping; promote only after inbox/thread/draft mutation invariants replace recording-coupled fallbacks.",
1738
+ domainPrimitives: [
1739
+ "inbox lifecycle state",
1740
+ "thread and message state",
1741
+ "draft and webhook lifecycle state"
1742
+ ],
1743
+ promotionEvidence: [
1744
+ "clones/agentmail/SPEC.md tracks inbox/thread/draft/webhook handlers mutating StateEngine state",
1745
+ "clones/agentmail/SPEC.md tracks create/update/send/delete sequence invariants and reset determinism",
1746
+ "runtime recording-backed handlers in clones/agentmail/src/rest/handlers.ts and recordings.ts must be replaced by state-derived handlers before promotion"
1747
+ ]
1748
+ }
1749
+ },
1726
1750
  {
1727
1751
  name: "apify",
1728
1752
  package: "@archal/clone-apify",
@@ -1771,7 +1795,8 @@ var manifest_default = [
1771
1795
  "fixture-backed fallback semantics for uncovered REST paths"
1772
1796
  ],
1773
1797
  behaviorOwner: "src/upstream.ts"
1774
- }
1798
+ },
1799
+ opsCoverage: null
1775
1800
  },
1776
1801
  {
1777
1802
  name: "box",
@@ -1822,7 +1847,7 @@ var manifest_default = [
1822
1847
  icon: "CC",
1823
1848
  name: "Cal.com",
1824
1849
  description: "Event types, schedules, availability slots, bookings, calendars, and webhooks.",
1825
- toolCount: 18
1850
+ toolCount: 35
1826
1851
  },
1827
1852
  transport: "both",
1828
1853
  hostedRuntime: {
@@ -1870,7 +1895,7 @@ var manifest_default = [
1870
1895
  icon: "CU",
1871
1896
  name: "ClickUp",
1872
1897
  description: "Teams, spaces, folders, lists, tasks, comments, tags, time tracking, and checklists.",
1873
- toolCount: 40
1898
+ toolCount: 123
1874
1899
  },
1875
1900
  transport: "both",
1876
1901
  hostedRuntime: {
@@ -1911,7 +1936,7 @@ var manifest_default = [
1911
1936
  icon: "CI",
1912
1937
  name: "Customer.io",
1913
1938
  description: "Messaging automation across campaigns, broadcasts, transactional email, segments, customers, and message delivery.",
1914
- toolCount: 22
1939
+ toolCount: 129
1915
1940
  },
1916
1941
  transport: "rest",
1917
1942
  hostedRuntime: {
@@ -2020,6 +2045,17 @@ var manifest_default = [
2020
2045
  {
2021
2046
  domain: "discordapp.com"
2022
2047
  }
2048
+ ],
2049
+ hardFailDomains: [
2050
+ {
2051
+ domain: "cdn.discordapp.com"
2052
+ },
2053
+ {
2054
+ domain: "media.discordapp.net"
2055
+ },
2056
+ {
2057
+ domain: "gateway.discord.gg"
2058
+ }
2023
2059
  ]
2024
2060
  },
2025
2061
  seeds: {
@@ -2046,7 +2082,8 @@ var manifest_default = [
2046
2082
  "thread",
2047
2083
  "webhook",
2048
2084
  "slash command"
2049
- ]
2085
+ ],
2086
+ opsCoverage: 14
2050
2087
  },
2051
2088
  {
2052
2089
  name: "dropbox",
@@ -2082,7 +2119,7 @@ var manifest_default = [
2082
2119
  "sharing permissions",
2083
2120
  "delta/list-folder cursors"
2084
2121
  ],
2085
- behaviorOwner: "src/domain/files.ts"
2122
+ behaviorOwner: "src/register-tools.ts"
2086
2123
  }
2087
2124
  },
2088
2125
  {
@@ -2161,7 +2198,8 @@ var manifest_default = [
2161
2198
  "clones/firecrawl/SPEC.md tracks runtime recording-backed handlers replaced by state-derived crawl/job responses",
2162
2199
  "clones/firecrawl/SPEC.md tracks status/progress/replay determinism invariants"
2163
2200
  ]
2164
- }
2201
+ },
2202
+ opsCoverage: 77
2165
2203
  },
2166
2204
  {
2167
2205
  name: "freshdesk",
@@ -2228,6 +2266,9 @@ var manifest_default = [
2228
2266
  routeProxy: {
2229
2267
  enabled: true,
2230
2268
  domains: [
2269
+ {
2270
+ domain: "github.com"
2271
+ },
2231
2272
  {
2232
2273
  domain: "api.github.com"
2233
2274
  },
@@ -2235,10 +2276,18 @@ var manifest_default = [
2235
2276
  domain: "uploads.github.com"
2236
2277
  },
2237
2278
  {
2238
- domain: "github.com"
2279
+ domain: "raw.githubusercontent.com"
2280
+ }
2281
+ ],
2282
+ hardFailDomains: [
2283
+ {
2284
+ domain: "gist.github.com"
2239
2285
  },
2240
2286
  {
2241
- domain: "raw.githubusercontent.com"
2287
+ domain: "objects.githubusercontent.com"
2288
+ },
2289
+ {
2290
+ domain: "codeload.github.com"
2242
2291
  }
2243
2292
  ]
2244
2293
  },
@@ -2268,7 +2317,8 @@ var manifest_default = [
2268
2317
  "create_issue",
2269
2318
  "create_pull_request",
2270
2319
  "merge_pull_request"
2271
- ]
2320
+ ],
2321
+ opsCoverage: 96
2272
2322
  },
2273
2323
  {
2274
2324
  name: "gitlab",
@@ -2279,7 +2329,7 @@ var manifest_default = [
2279
2329
  icon: "GL",
2280
2330
  name: "GitLab",
2281
2331
  description: "Projects, branches, commits, issues, merge requests, pipelines, labels, milestones, releases, and webhooks.",
2282
- toolCount: 46
2332
+ toolCount: 559
2283
2333
  },
2284
2334
  transport: "both",
2285
2335
  hostedRuntime: {
@@ -2393,7 +2443,88 @@ var manifest_default = [
2393
2443
  "google sheet",
2394
2444
  "google sheets",
2395
2445
  "contacts"
2396
- ]
2446
+ ],
2447
+ opsCoverage: 64
2448
+ },
2449
+ {
2450
+ name: "guesty",
2451
+ package: "@archal/clone-guesty",
2452
+ path: "clones/guesty",
2453
+ stage: "internal",
2454
+ transport: "rest",
2455
+ hostedRuntime: {
2456
+ enabled: true,
2457
+ requiresDist: true,
2458
+ requiresEmptySeed: true
2459
+ },
2460
+ cli: {
2461
+ bundleAssets: false,
2462
+ bundleToolSnapshot: false
2463
+ },
2464
+ routeProxy: {
2465
+ enabled: false,
2466
+ domains: []
2467
+ },
2468
+ seeds: {
2469
+ generatedCatalog: false,
2470
+ default: "empty"
2471
+ },
2472
+ smoke: {
2473
+ production: "none"
2474
+ },
2475
+ architecture: {
2476
+ class: "replay-shell",
2477
+ summary: "Current internal Guesty package is a bootstrap scaffold with no registered tools or REST behavior; promote to replay-shell preview only after the Open API listing/reservation/guest surface is harvested and replayed against a Guesty Pro account.",
2478
+ domainPrimitives: [
2479
+ "listing, reservation, and guest read projections",
2480
+ "availability-calendar overlay",
2481
+ "future webhook delivery behavior"
2482
+ ],
2483
+ promotionEvidence: [
2484
+ "clones/guesty/SPEC.md tracks listing/reservation/guest handlers mutating StateEngine",
2485
+ "clones/guesty/SPEC.md tracks reservation create/cancel/modify lifecycle and read-after-write invariants"
2486
+ ]
2487
+ }
2488
+ },
2489
+ {
2490
+ name: "hostaway",
2491
+ package: "@archal/clone-hostaway",
2492
+ path: "clones/hostaway",
2493
+ stage: "internal",
2494
+ transport: "rest",
2495
+ hostedRuntime: {
2496
+ enabled: true,
2497
+ requiresDist: true,
2498
+ requiresEmptySeed: true
2499
+ },
2500
+ cli: {
2501
+ bundleAssets: false,
2502
+ bundleToolSnapshot: false
2503
+ },
2504
+ routeProxy: {
2505
+ enabled: false,
2506
+ domains: []
2507
+ },
2508
+ seeds: {
2509
+ generatedCatalog: false,
2510
+ default: "empty"
2511
+ },
2512
+ smoke: {
2513
+ production: "none"
2514
+ },
2515
+ architecture: {
2516
+ class: "replay-shell",
2517
+ summary: "Current internal Hostaway package is a bootstrap scaffold with no registered tools or REST behavior; promote to replay-shell preview only after the Public API listing/reservation/calendar surface is harvested and replayed against a Hostaway account.",
2518
+ domainPrimitives: [
2519
+ "listing, reservation, and calendar read projections",
2520
+ "unified-inbox conversation overlay",
2521
+ "future webhook delivery behavior"
2522
+ ],
2523
+ promotionEvidence: [
2524
+ "clones/hostaway/SPEC.md tracks listing/reservation/calendar handlers mutating StateEngine",
2525
+ "clones/hostaway/SPEC.md tracks reservation create/cancel/modify lifecycle and read-after-write invariants"
2526
+ ]
2527
+ }
2397
2528
  },
2398
2529
  {
2399
2530
  name: "hubspot",
@@ -2404,7 +2535,7 @@ var manifest_default = [
2404
2535
  icon: "HS",
2405
2536
  name: "HubSpot",
2406
2537
  description: "CRM contacts, companies, deals, tickets, and engagements.",
2407
- toolCount: 41
2538
+ toolCount: 44
2408
2539
  },
2409
2540
  transport: "rest",
2410
2541
  hostedRuntime: {
@@ -2443,7 +2574,8 @@ var manifest_default = [
2443
2574
  "clones/hubspot/SPEC.md tracks runtime recording reads removed from exported handlers",
2444
2575
  "clones/hubspot/SPEC.md tracks CRM alias and association sequence invariants"
2445
2576
  ]
2446
- }
2577
+ },
2578
+ opsCoverage: 99
2447
2579
  },
2448
2580
  {
2449
2581
  name: "jira",
@@ -2506,7 +2638,8 @@ var manifest_default = [
2506
2638
  "jira board",
2507
2639
  "sprint",
2508
2640
  "epic"
2509
- ]
2641
+ ],
2642
+ opsCoverage: 80
2510
2643
  },
2511
2644
  {
2512
2645
  name: "linear",
@@ -2517,7 +2650,7 @@ var manifest_default = [
2517
2650
  icon: "LN",
2518
2651
  name: "Linear",
2519
2652
  description: "Issues, projects, teams, cycles, and workflows.",
2520
- toolCount: 50
2653
+ toolCount: 53
2521
2654
  },
2522
2655
  transport: "both",
2523
2656
  hostedRuntime: {
@@ -2561,7 +2694,8 @@ var manifest_default = [
2561
2694
  "linear project",
2562
2695
  "linear cycle",
2563
2696
  "cycle"
2564
- ]
2697
+ ],
2698
+ opsCoverage: 98
2565
2699
  },
2566
2700
  {
2567
2701
  name: "mailchimp",
@@ -2646,6 +2780,47 @@ var manifest_default = [
2646
2780
  "clones/ownerrez/SPEC.md tracks runtime recording-backed handlers replaced for the promoted reservation/payment slice",
2647
2781
  "clones/ownerrez/SPEC.md tracks availability/payment invariants"
2648
2782
  ]
2783
+ },
2784
+ opsCoverage: 100
2785
+ },
2786
+ {
2787
+ name: "outlook",
2788
+ package: "@archal/clone-outlook",
2789
+ path: "clones/outlook",
2790
+ stage: "internal",
2791
+ transport: "rest",
2792
+ hostedRuntime: {
2793
+ enabled: true,
2794
+ requiresDist: true,
2795
+ requiresEmptySeed: true
2796
+ },
2797
+ cli: {
2798
+ bundleAssets: false,
2799
+ bundleToolSnapshot: false
2800
+ },
2801
+ routeProxy: {
2802
+ enabled: false,
2803
+ domains: []
2804
+ },
2805
+ seeds: {
2806
+ generatedCatalog: false,
2807
+ default: "empty"
2808
+ },
2809
+ smoke: {
2810
+ production: "none"
2811
+ },
2812
+ architecture: {
2813
+ class: "replay-shell",
2814
+ summary: "Outlook mail (Microsoft Graph v1.0, mail-only) replay-shell ported from the forge lineage: REST routes replay harvested Graph recordings over a StateEngine mail model; promote only after folder/message mutation invariants and broader Graph surface land.",
2815
+ domainPrimitives: [
2816
+ "mail folder hierarchy and well-known folder state",
2817
+ "message lifecycle state (draft, send, move, copy, delete)",
2818
+ "attachment state"
2819
+ ],
2820
+ promotionEvidence: [
2821
+ "clones/outlook/SPEC.md tracks mail folder/message/attachment handlers mutating StateEngine state",
2822
+ "clones/outlook/SPEC.md tracks draft/send/move/copy/delete sequence invariants and reset determinism"
2823
+ ]
2649
2824
  }
2650
2825
  },
2651
2826
  {
@@ -2677,7 +2852,11 @@ var manifest_default = [
2677
2852
  architecture: {
2678
2853
  class: "redesign-before-expansion",
2679
2854
  summary: "PostHog currently models admin resources and frozen insight/dashboard projections; event ingestion, query execution, and feature flag evaluation need a simulator contract before expansion.",
2680
- domainPrimitives: ["event ingestion", "query execution", "feature flag evaluation"],
2855
+ domainPrimitives: [
2856
+ "event ingestion",
2857
+ "query execution",
2858
+ "feature flag evaluation"
2859
+ ],
2681
2860
  redesignContract: "docs/internal/dev/clones/redesign-contracts/posthog.md"
2682
2861
  }
2683
2862
  },
@@ -2733,7 +2912,8 @@ var manifest_default = [
2733
2912
  "clones/pricelabs/SPEC.md tracks runtime recording-backed handlers replaced for the promoted pricing/reservation slice",
2734
2913
  "clones/pricelabs/SPEC.md tracks occupancy/rate/replay determinism invariants"
2735
2914
  ]
2736
- }
2915
+ },
2916
+ opsCoverage: 100
2737
2917
  },
2738
2918
  {
2739
2919
  name: "quickbooks",
@@ -2835,7 +3015,8 @@ var manifest_default = [
2835
3015
  "reimbursement",
2836
3016
  "fund",
2837
3017
  "card spend"
2838
- ]
3018
+ ],
3019
+ opsCoverage: null
2839
3020
  },
2840
3021
  {
2841
3022
  name: "sendgrid",
@@ -2886,7 +3067,8 @@ var manifest_default = [
2886
3067
  "clones/sendgrid/SPEC.md tracks runtime recording-backed handlers replaced for send/event/suppression behavior",
2887
3068
  "clones/sendgrid/SPEC.md tracks send-to-event and suppression replay invariants"
2888
3069
  ]
2889
- }
3070
+ },
3071
+ opsCoverage: 100
2890
3072
  },
2891
3073
  {
2892
3074
  name: "sentry",
@@ -2897,7 +3079,7 @@ var manifest_default = [
2897
3079
  icon: "SN",
2898
3080
  name: "Sentry",
2899
3081
  description: "Error monitoring across organizations, projects, teams, issues, events, releases, and DSN keys.",
2900
- toolCount: 25
3082
+ toolCount: 34
2901
3083
  },
2902
3084
  transport: "rest",
2903
3085
  hostedRuntime: {
@@ -2933,7 +3115,8 @@ var manifest_default = [
2933
3115
  "release and time-window projections"
2934
3116
  ],
2935
3117
  behaviorOwner: "src/domain/sentry-simulator.ts"
2936
- }
3118
+ },
3119
+ opsCoverage: null
2937
3120
  },
2938
3121
  {
2939
3122
  name: "slack",
@@ -2965,6 +3148,23 @@ var manifest_default = [
2965
3148
  {
2966
3149
  domain: "api.slack.com"
2967
3150
  }
3151
+ ],
3152
+ hardFailDomains: [
3153
+ {
3154
+ domain: "hooks.slack.com"
3155
+ },
3156
+ {
3157
+ domain: "files.slack.com"
3158
+ },
3159
+ {
3160
+ domain: "edgeapi.slack.com"
3161
+ },
3162
+ {
3163
+ domain: "wss-primary.slack.com"
3164
+ },
3165
+ {
3166
+ domain: "wss-backup.slack.com"
3167
+ }
2968
3168
  ]
2969
3169
  },
2970
3170
  seeds: {
@@ -2990,7 +3190,8 @@ var manifest_default = [
2990
3190
  "send_message",
2991
3191
  "slack message",
2992
3192
  "direct message"
2993
- ]
3193
+ ],
3194
+ opsCoverage: 100
2994
3195
  },
2995
3196
  {
2996
3197
  name: "stripe",
@@ -3019,6 +3220,14 @@ var manifest_default = [
3019
3220
  {
3020
3221
  domain: "api.stripe.com"
3021
3222
  }
3223
+ ],
3224
+ hardFailDomains: [
3225
+ {
3226
+ domain: "files.stripe.com"
3227
+ },
3228
+ {
3229
+ domain: "uploads.stripe.com"
3230
+ }
3022
3231
  ]
3023
3232
  },
3024
3233
  seeds: {
@@ -3045,7 +3254,8 @@ var manifest_default = [
3045
3254
  "subscription",
3046
3255
  "invoice",
3047
3256
  "charge"
3048
- ]
3257
+ ],
3258
+ opsCoverage: null
3049
3259
  },
3050
3260
  {
3051
3261
  name: "woocommerce",
@@ -3140,7 +3350,8 @@ var manifest_default = [
3140
3350
  "sql query",
3141
3351
  "database table",
3142
3352
  "sql"
3143
- ]
3353
+ ],
3354
+ opsCoverage: 100
3144
3355
  },
3145
3356
  {
3146
3357
  name: "tavily",
@@ -3194,7 +3405,8 @@ var manifest_default = [
3194
3405
  "clones/tavily/SPEC.md tracks runtime recording-backed handlers replaced for the promoted search/extract/research surface",
3195
3406
  "clones/tavily/SPEC.md tracks search/extract/research replay determinism invariants"
3196
3407
  ]
3197
- }
3408
+ },
3409
+ opsCoverage: 100
3198
3410
  },
3199
3411
  {
3200
3412
  name: "typeform",
@@ -3280,7 +3492,8 @@ var manifest_default = [
3280
3492
  "webhook registration state"
3281
3493
  ],
3282
3494
  behaviorOwner: "src/domain/telegram-simulator.ts"
3283
- }
3495
+ },
3496
+ opsCoverage: null
3284
3497
  },
3285
3498
  {
3286
3499
  name: "twilio",
@@ -3327,7 +3540,8 @@ var manifest_default = [
3327
3540
  "clones/twilio/SPEC.md tracks runtime recording-backed handlers replaced for the promoted message/call slice",
3328
3541
  "clones/twilio/SPEC.md tracks delivery/status/webhook sequence invariants"
3329
3542
  ]
3330
- }
3543
+ },
3544
+ opsCoverage: 92
3331
3545
  },
3332
3546
  {
3333
3547
  name: "unipile",
@@ -3382,7 +3596,8 @@ var manifest_default = [
3382
3596
  "clones/unipile/SPEC.md tracks runtime recording-backed handlers replaced for the promoted chat/provider surface",
3383
3597
  "clones/unipile/SPEC.md tracks send/delivery/read/webhook sequence invariants"
3384
3598
  ]
3385
- }
3599
+ },
3600
+ opsCoverage: 100
3386
3601
  },
3387
3602
  {
3388
3603
  name: "webflow",
@@ -3393,9 +3608,9 @@ var manifest_default = [
3393
3608
  icon: "WF",
3394
3609
  name: "Webflow",
3395
3610
  description: "Sites, pages, CMS collections, items, assets, forms, and webhooks.",
3396
- toolCount: 19
3611
+ toolCount: 104
3397
3612
  },
3398
- transport: "rest",
3613
+ transport: "both",
3399
3614
  hostedRuntime: {
3400
3615
  enabled: true,
3401
3616
  requiresDist: true,
@@ -3424,26 +3639,17 @@ var manifest_default = [
3424
3639
  production: "clone-surface"
3425
3640
  },
3426
3641
  architecture: {
3427
- class: "replay-shell",
3428
- summary: "Webflow is recording-replay backed with focused CMS stateful overlays; it should not be treated as a full Webflow behavior engine.",
3429
- domainPrimitives: [
3430
- "recording replay cursor",
3431
- "CMS collection/item overlays",
3432
- "publish lifecycle captures"
3433
- ],
3434
- promotionEvidence: [
3435
- "clones/webflow/SPEC.md tracks staged/live publish projection state model",
3436
- "clones/webflow/SPEC.md tracks runtime recording-backed handlers replaced for the promoted publish/CMS surface",
3437
- "clones/webflow/SPEC.md tracks CMS publish/reset sequence invariants"
3438
- ]
3439
- }
3642
+ class: "standard-core",
3643
+ summary: "Webflow Data API v2 slice models sites, collections, and users as deterministic StateEngine records with state-derived REST routes and a per-boot webhook store; Designer-side surfaces (form components, page DOM editing) and real publish delivery are not claimed."
3644
+ },
3645
+ opsCoverage: 100
3440
3646
  }
3441
3647
  ];
3442
3648
  var CLONE_MANIFEST = manifest_default;
3443
3649
  var CLONE_NAMES = CLONE_MANIFEST.map((t) => t.name);
3444
3650
  var CLONE_PACKAGES = CLONE_MANIFEST.map((t) => t.package);
3445
3651
 
3446
- // ../../clones/core/dist/chunk-SXNWBK3S.js
3652
+ // ../../clones/core/dist/chunk-UB63UNGS.js
3447
3653
  var CLONE_PREFIX_PATTERN = new RegExp(`^(${CLONE_NAMES.join("|")})_`, "i");
3448
3654
 
3449
3655
  // ../../clones/core/dist/chunk-EZKTFYZI.js
@@ -3546,29 +3752,9 @@ import { spawn } from "child_process";
3546
3752
  import { promises as fs } from "fs";
3547
3753
  import { join, resolve as resolve2 } from "path";
3548
3754
  import { tmpdir } from "os";
3549
-
3550
- // src/url-resolution.ts
3551
- function readFirstConfiguredApiBaseUrl(envVars) {
3552
- for (const envVar of envVars) {
3553
- const configured = trimEnv(envVar);
3554
- if (!configured) {
3555
- continue;
3556
- }
3557
- return normalizeApiBaseUrl(configured);
3558
- }
3559
- return null;
3560
- }
3561
3755
  function resolveArchalVitestApiBaseUrl(defaultBaseUrl) {
3562
- return readFirstConfiguredApiBaseUrl([
3563
- "ARCHAL_VITEST_API_URL",
3564
- "ARCHAL_API_URL",
3565
- "ARCHAL_API_BASE_URL",
3566
- "ARCHAL_AUTH_URL",
3567
- "ARCHAL_AUTH_BASE_URL"
3568
- ]) ?? defaultBaseUrl;
3756
+ return getConfiguredVitestApiBaseUrl(defaultBaseUrl);
3569
3757
  }
3570
-
3571
- // src/runtime/hosted-session-provider.ts
3572
3758
  var COORDINATOR_LOCK_TIMEOUT_MS = 3e4;
3573
3759
  var COORDINATOR_STALE_LOCK_MS = COORDINATOR_LOCK_TIMEOUT_MS;
3574
3760
  var COORDINATOR_POLL_INTERVAL_MS = 50;
@@ -4218,6 +4404,20 @@ var VITEST_AUTH_LEASE_OPTIONS = {
4218
4404
  };
4219
4405
 
4220
4406
  // src/runtime/bootstrap.ts
4407
+ var ARCHAL_VITEST_CONFIG_ENV = "ARCHAL_VITEST_CONFIG";
4408
+ function readArchalVitestConfigFromEnv() {
4409
+ const encoded = process.env[ARCHAL_VITEST_CONFIG_ENV];
4410
+ if (!encoded) {
4411
+ throw new Error(`Missing ${ARCHAL_VITEST_CONFIG_ENV}. archalVitestProject() must set worker config before bootstrap.`);
4412
+ }
4413
+ return readArchalVitestConfig(encoded);
4414
+ }
4415
+ function readArchalVitestConfig(encoded) {
4416
+ if (!encoded) {
4417
+ throw new Error(`Missing ${ARCHAL_VITEST_CONFIG_ENV}. archalVitestProject() must set worker config before bootstrap.`);
4418
+ }
4419
+ return decodeConfig(encoded);
4420
+ }
4221
4421
  var GLOBAL_RUNTIME_KEY = "__archalVitestRuntime";
4222
4422
  var GLOBAL_SESSION_KEY = "__archalVitestSession";
4223
4423
  var GLOBAL_CLEANUP_HANDLER_KEY = "__archalVitestRuntimeCleanupHandlerRegistered";
@@ -4656,9 +4856,9 @@ function getInstalledArchalVitestSession() {
4656
4856
 
4657
4857
  export {
4658
4858
  resolveRuntimeModule,
4859
+ assertSupportedArchalVitestServices,
4659
4860
  ARCHAL_VITEST_CONFIG_ENV,
4660
4861
  readArchalVitestConfig,
4661
- assertSupportedArchalVitestServices,
4662
4862
  fetchArchalClone,
4663
4863
  resetArchalClones,
4664
4864
  bootstrapArchalVitestRouting,