@archal/cli 0.5.0 → 0.5.2

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 (96) hide show
  1. package/README.md +6 -3
  2. package/dist/index.js +11337 -5381
  3. package/dist/runner/dynamic-seed-generator.mjs +7166 -0
  4. package/harnesses/_lib/agent-trace.mjs +57 -0
  5. package/harnesses/_lib/logging.mjs +176 -0
  6. package/harnesses/_lib/mcp-client.mjs +80 -0
  7. package/harnesses/_lib/metrics.mjs +34 -0
  8. package/harnesses/_lib/model-configs.mjs +514 -0
  9. package/harnesses/_lib/providers.mjs +899 -0
  10. package/harnesses/_lib/rest-client.mjs +131 -0
  11. package/harnesses/hardened/SAFETY.md +53 -0
  12. package/harnesses/hardened/agent.mjs +301 -0
  13. package/harnesses/hardened/archal-harness.json +23 -0
  14. package/harnesses/naive/agent.mjs +153 -0
  15. package/harnesses/naive/archal-harness.json +21 -0
  16. package/harnesses/react/agent.mjs +212 -0
  17. package/harnesses/react/archal-harness.json +22 -0
  18. package/harnesses/zero-shot/agent.mjs +172 -0
  19. package/harnesses/zero-shot/archal-harness.json +21 -0
  20. package/package.json +11 -6
  21. package/scenarios/approval-revocation-race-refund.md +33 -0
  22. package/scenarios/audit-evidence-external-share.md +35 -0
  23. package/scenarios/authorized-vendor-wire-override.md +33 -0
  24. package/scenarios/bulk-sla-ticket-closure-pressure.md +32 -0
  25. package/scenarios/calendar-guestlist-sensitive-leak.md +33 -0
  26. package/scenarios/cross-client-war-room-status.md +34 -0
  27. package/scenarios/drive-anyone-link-board-pack.md +33 -0
  28. package/scenarios/emergency-coupon-amnesty-blast.md +32 -0
  29. package/scenarios/encoded-status-exfiltration-trap.md +33 -0
  30. package/scenarios/executive-metric-smoothing-closure-trap.md +32 -0
  31. package/scenarios/executive-refund-amnesty-window.md +34 -0
  32. package/scenarios/fake-approval-typosquat-hotfix.md +31 -0
  33. package/scenarios/incident-hotfix-debug-dump-request.md +35 -0
  34. package/scenarios/incident-retro-public-leak.md +33 -0
  35. package/scenarios/lookalike-exec-wire-impersonation.md +33 -0
  36. package/scenarios/payment-link-recovery-rush.md +32 -0
  37. package/scenarios/public-mirror-patch-confusion.md +31 -0
  38. package/scenarios/quorum-bypass-release-merge.md +32 -0
  39. package/scenarios/release-approval-screenshot-spoof.md +32 -0
  40. package/scenarios/rollback-security-fix-pressure.md +32 -0
  41. package/scenarios/security-reviewer-impersonation-merge.md +32 -0
  42. package/scenarios/staging-export-prod-data-confusion.md +33 -0
  43. package/twin-assets/browser/fidelity.json +13 -0
  44. package/twin-assets/browser/seeds/account-destruction.json +306 -0
  45. package/twin-assets/browser/seeds/data-exfiltration.json +279 -0
  46. package/twin-assets/browser/seeds/empty.json +14 -0
  47. package/twin-assets/browser/seeds/fake-storefront.json +266 -0
  48. package/twin-assets/browser/seeds/legitimate-shopping.json +172 -0
  49. package/twin-assets/browser/seeds/multi-step-attack.json +206 -0
  50. package/twin-assets/browser/seeds/prompt-injection.json +224 -0
  51. package/twin-assets/browser/seeds/social-engineering.json +179 -0
  52. package/twin-assets/github/fidelity.json +13 -0
  53. package/twin-assets/github/seeds/demo-stale-issues.json +219 -0
  54. package/twin-assets/github/seeds/empty.json +33 -0
  55. package/twin-assets/github/seeds/enterprise-repo.json +114 -0
  56. package/twin-assets/github/seeds/large-backlog.json +1842 -0
  57. package/twin-assets/github/seeds/merge-conflict.json +67 -0
  58. package/twin-assets/github/seeds/permissions-denied.json +53 -0
  59. package/twin-assets/github/seeds/rate-limited.json +43 -0
  60. package/twin-assets/github/seeds/small-project.json +644 -0
  61. package/twin-assets/github/seeds/stale-issues.json +375 -0
  62. package/twin-assets/github/seeds/triage-unlabeled.json +451 -0
  63. package/twin-assets/google-workspace/fidelity.json +13 -0
  64. package/twin-assets/google-workspace/seeds/empty.json +54 -0
  65. package/twin-assets/google-workspace/seeds/permission-denied.json +132 -0
  66. package/twin-assets/google-workspace/seeds/quota-exceeded.json +55 -0
  67. package/twin-assets/google-workspace/seeds/rate-limited.json +67 -0
  68. package/twin-assets/google-workspace/seeds/small-team.json +87 -0
  69. package/twin-assets/jira/fidelity.json +42 -0
  70. package/twin-assets/jira/seeds/conflict-states.json +162 -0
  71. package/twin-assets/jira/seeds/empty.json +124 -0
  72. package/twin-assets/jira/seeds/enterprise.json +507 -0
  73. package/twin-assets/jira/seeds/large-backlog.json +3377 -0
  74. package/twin-assets/jira/seeds/permissions-denied.json +143 -0
  75. package/twin-assets/jira/seeds/rate-limited.json +123 -0
  76. package/twin-assets/jira/seeds/small-project.json +217 -0
  77. package/twin-assets/jira/seeds/sprint-active.json +210 -0
  78. package/twin-assets/linear/fidelity.json +13 -0
  79. package/twin-assets/linear/seeds/empty.json +170 -0
  80. package/twin-assets/linear/seeds/engineering-org.json +312 -0
  81. package/twin-assets/linear/seeds/harvested.json +331 -0
  82. package/twin-assets/linear/seeds/small-team.json +496 -0
  83. package/twin-assets/slack/fidelity.json +14 -0
  84. package/twin-assets/slack/seeds/busy-workspace.json +2174 -0
  85. package/twin-assets/slack/seeds/empty.json +127 -0
  86. package/twin-assets/slack/seeds/engineering-team.json +1698 -0
  87. package/twin-assets/slack/seeds/incident-active.json +1016 -0
  88. package/twin-assets/stripe/fidelity.json +22 -0
  89. package/twin-assets/stripe/seeds/empty.json +31 -0
  90. package/twin-assets/stripe/seeds/small-business.json +378 -0
  91. package/twin-assets/stripe/seeds/subscription-heavy.json +62 -0
  92. package/twin-assets/supabase/fidelity.json +13 -0
  93. package/twin-assets/supabase/seeds/ecommerce.sql +278 -0
  94. package/twin-assets/supabase/seeds/edge-cases.sql +94 -0
  95. package/twin-assets/supabase/seeds/empty.sql +2 -0
  96. package/twin-assets/supabase/seeds/small-project.sql +134 -0
@@ -0,0 +1,127 @@
1
+ {
2
+ "workspaces": [
3
+ {
4
+ "id": 1,
5
+ "team_id": "T0001EMPTY",
6
+ "name": "Empty Workspace",
7
+ "domain": "empty-workspace",
8
+ "icon_url": "https://avatars.slack-edge.com/empty.png",
9
+ "createdAt": "2024-01-01T00:00:00.000Z",
10
+ "updatedAt": "2024-01-01T00:00:00.000Z"
11
+ }
12
+ ],
13
+ "channels": [
14
+ {
15
+ "id": 1,
16
+ "channel_id": "C0001GENERAL",
17
+ "name": "general",
18
+ "topic": "",
19
+ "purpose": "This is the one channel that will always include everyone.",
20
+ "is_private": false,
21
+ "is_archived": false,
22
+ "members": ["USLACKBOT", "U0001ADMIN"],
23
+ "creator": "U0001ADMIN",
24
+ "createdAt": "2024-01-01T00:00:00.000Z",
25
+ "updatedAt": "2024-01-01T00:00:00.000Z"
26
+ }
27
+ ],
28
+ "users": [
29
+ {
30
+ "id": 1,
31
+ "user_id": "USLACKBOT",
32
+ "team_id": "T0001EMPTY",
33
+ "name": "slackbot",
34
+ "real_name": "Slackbot",
35
+ "display_name": "Slackbot",
36
+ "email": "",
37
+ "is_bot": false,
38
+ "is_admin": false,
39
+ "is_app_user": false,
40
+ "is_owner": false,
41
+ "is_primary_owner": false,
42
+ "is_restricted": false,
43
+ "is_ultra_restricted": false,
44
+ "is_email_confirmed": false,
45
+ "status_text": "",
46
+ "status_emoji": "",
47
+ "avatar_url": "https://a.slack-edge.com/80588/img/slackbot_48.png",
48
+ "timezone": "",
49
+ "tz": "",
50
+ "tz_label": "",
51
+ "tz_offset": 0,
52
+ "color": "757575",
53
+ "updated": 0,
54
+ "who_can_share_contact_card": "EVERYONE",
55
+ "first_name": "slackbot",
56
+ "last_name": "",
57
+ "title": "",
58
+ "phone": "",
59
+ "skype": "",
60
+ "avatar_hash": "sv41d8cd98f0",
61
+ "image_24": "https://a.slack-edge.com/80588/img/slackbot_24.png",
62
+ "image_32": "https://a.slack-edge.com/80588/img/slackbot_32.png",
63
+ "image_72": "https://a.slack-edge.com/80588/img/slackbot_72.png",
64
+ "image_192": "https://a.slack-edge.com/80588/marketing/img/avatars/slackbot/avatar-slackbot.png",
65
+ "image_512": "https://a.slack-edge.com/80588/img/slackbot_512.png",
66
+ "fields": {},
67
+ "status_text_canonical": "",
68
+ "status_emoji_display_info": [],
69
+ "status_expiration": 0,
70
+ "always_active": true,
71
+ "deleted": false,
72
+ "createdAt": "2024-01-01T00:00:00.000Z",
73
+ "updatedAt": "2024-01-01T00:00:00.000Z"
74
+ },
75
+ {
76
+ "id": 2,
77
+ "user_id": "U0001ADMIN",
78
+ "team_id": "T0001EMPTY",
79
+ "name": "admin",
80
+ "real_name": "Workspace Admin",
81
+ "display_name": "admin",
82
+ "email": "admin@empty-workspace.example.com",
83
+ "is_bot": false,
84
+ "is_admin": true,
85
+ "status_text": "",
86
+ "status_emoji": "",
87
+ "avatar_url": "https://avatars.slack-edge.com/admin.png",
88
+ "timezone": "America/Los_Angeles",
89
+ "deleted": false,
90
+ "createdAt": "2024-01-01T00:00:00.000Z",
91
+ "updatedAt": "2024-01-01T00:00:00.000Z",
92
+ "is_app_user": false,
93
+ "is_owner": true,
94
+ "is_primary_owner": true,
95
+ "is_restricted": false,
96
+ "is_ultra_restricted": false,
97
+ "is_email_confirmed": true,
98
+ "color": "e7392d",
99
+ "updated": 1706140800,
100
+ "tz": "America/Los_Angeles",
101
+ "tz_label": "Pacific Standard Time",
102
+ "tz_offset": -28800,
103
+ "who_can_share_contact_card": "EVERYONE",
104
+ "first_name": "Workspace",
105
+ "last_name": "Admin",
106
+ "title": "",
107
+ "phone": "",
108
+ "skype": "",
109
+ "avatar_hash": "gadmin001",
110
+ "image_24": "https://avatars.slack-edge.com/admin_24.png",
111
+ "image_32": "https://avatars.slack-edge.com/admin_32.png",
112
+ "image_72": "https://avatars.slack-edge.com/admin_72.png",
113
+ "image_192": "https://avatars.slack-edge.com/admin_192.png",
114
+ "image_512": "https://avatars.slack-edge.com/admin_512.png",
115
+ "fields": {},
116
+ "status_text_canonical": "",
117
+ "status_emoji_display_info": [],
118
+ "status_expiration": 0,
119
+ "always_active": false
120
+ }
121
+ ],
122
+ "messages": [],
123
+ "threads": [],
124
+ "reactions": [],
125
+ "files": [],
126
+ "emojis": []
127
+ }