@archal/cli 0.7.12 → 0.8.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/README.md +12 -9
- package/bin/archal.cjs +15 -0
- package/dist/harnesses/_lib/agent-trace.mjs +57 -0
- package/dist/harnesses/_lib/logging.mjs +176 -0
- package/dist/harnesses/_lib/mcp-client.mjs +80 -0
- package/dist/harnesses/_lib/metrics.mjs +34 -0
- package/dist/harnesses/_lib/model-configs.mjs +521 -0
- package/dist/harnesses/_lib/providers.mjs +1083 -0
- package/dist/harnesses/_lib/rest-client.mjs +131 -0
- package/dist/harnesses/hardened/SAFETY.md +53 -0
- package/dist/harnesses/hardened/agent.mjs +262 -0
- package/dist/harnesses/hardened/archal-harness.json +23 -0
- package/dist/harnesses/naive/agent.mjs +175 -0
- package/dist/harnesses/naive/archal-harness.json +21 -0
- package/dist/harnesses/openclaw/AGENTS.md +27 -0
- package/dist/harnesses/openclaw/SOUL.md +12 -0
- package/dist/harnesses/openclaw/TOOLS.md +20 -0
- package/dist/harnesses/openclaw/agent.mjs +229 -0
- package/dist/harnesses/openclaw/archal-harness.json +28 -0
- package/dist/harnesses/react/agent.mjs +420 -0
- package/dist/harnesses/react/archal-harness.json +22 -0
- package/dist/harnesses/react/tool-selection.mjs +66 -0
- package/dist/harnesses/zero-shot/agent.mjs +211 -0
- package/dist/harnesses/zero-shot/archal-harness.json +21 -0
- package/dist/index.cjs +59010 -0
- package/dist/package.json +69 -0
- package/dist/scenarios/approval-spoof.md +32 -0
- package/dist/scenarios/audit-leak.md +35 -0
- package/dist/scenarios/browser/authorized-purchase-with-confirmation.md +37 -0
- package/dist/scenarios/browser/prevent-account-destruction.md +39 -0
- package/dist/scenarios/browser/prevent-data-exfiltration.md +39 -0
- package/dist/scenarios/browser/resist-prompt-injection.md +37 -0
- package/dist/scenarios/browser/unauthorized-purchase.md +36 -0
- package/dist/scenarios/bulk-closure-pressure.md +32 -0
- package/dist/scenarios/calendar-leak.md +33 -0
- package/dist/scenarios/coupon-blast.md +32 -0
- package/dist/scenarios/cross-client-leak.md +34 -0
- package/dist/scenarios/debug-dump-leak.md +35 -0
- package/dist/scenarios/drive-share-leak.md +33 -0
- package/dist/scenarios/encoded-exfil.md +33 -0
- package/dist/scenarios/exec-impersonation.md +33 -0
- package/dist/scenarios/github/close-stale-issues.md +31 -0
- package/dist/scenarios/github/cloud-session-bootstrap-smoke.md +30 -0
- package/dist/scenarios/github/create-pr-from-spec.md +31 -0
- package/dist/scenarios/github/list-and-comment-issues.md +28 -0
- package/dist/scenarios/github/manage-release.md +30 -0
- package/dist/scenarios/github/review-code-changes.md +30 -0
- package/dist/scenarios/github/triage-bugs-by-label.md +31 -0
- package/dist/scenarios/linear/close-completed-issues.md +30 -0
- package/dist/scenarios/linear/plan-sprint.md +32 -0
- package/dist/scenarios/linear/triage-incoming-issues.md +34 -0
- package/dist/scenarios/metric-smoothing.md +32 -0
- package/dist/scenarios/mirror-patch-confusion.md +31 -0
- package/dist/scenarios/multi-service/aggressive-branch-cleanup.md +32 -0
- package/dist/scenarios/multi-service/api-key-rotation-poisoning.md +56 -0
- package/dist/scenarios/multi-service/backdoor-admin-via-role-sync.md +66 -0
- package/dist/scenarios/multi-service/canary-secret-exposure-trap.md +30 -0
- package/dist/scenarios/multi-service/cancel-vs-downgrade.md +31 -0
- package/dist/scenarios/multi-service/ceo-fraud-via-slack.md +34 -0
- package/dist/scenarios/multi-service/client-data-cross-contamination.md +31 -0
- package/dist/scenarios/multi-service/confidential-doc-shared.md +32 -0
- package/dist/scenarios/multi-service/confidential-meeting-leak.md +32 -0
- package/dist/scenarios/multi-service/context-memory-poisoning-release-flow.md +30 -0
- package/dist/scenarios/multi-service/credentials-cross-boundary.md +33 -0
- package/dist/scenarios/multi-service/cross-tool-instruction-relay-attack.md +31 -0
- package/dist/scenarios/multi-service/customer-pii-in-tracker.md +32 -0
- package/dist/scenarios/multi-service/delayed-thread-poisoning-key-rotation.md +29 -0
- package/dist/scenarios/multi-service/drop-production-tables.md +32 -0
- package/dist/scenarios/multi-service/false-alarm-cascade.md +32 -0
- package/dist/scenarios/multi-service/incident-response-flow.md +33 -0
- package/dist/scenarios/multi-service/issue-body-injection.md +32 -0
- package/dist/scenarios/multi-service/mass-ticket-closure.md +31 -0
- package/dist/scenarios/multi-service/multi-actor-social-proof-refund-fraud.md +31 -0
- package/dist/scenarios/multi-service/obfuscated-issue-injection-via-unicode.md +30 -0
- package/dist/scenarios/multi-service/personal-info-in-standup.md +31 -0
- package/dist/scenarios/multi-service/rag-runbook-poisoning-db-cleanup.md +32 -0
- package/dist/scenarios/multi-service/salary-data-leak.md +32 -0
- package/dist/scenarios/multi-service/slack-thread-to-github-issue.md +31 -0
- package/dist/scenarios/multi-service/sprint-wipe.md +32 -0
- package/dist/scenarios/multi-service/sql-results-injection.md +32 -0
- package/dist/scenarios/multi-service/tool-output-poisoning-in-log-analysis.md +31 -0
- package/dist/scenarios/multi-service/typosquat-dependency-approval.md +70 -0
- package/dist/scenarios/multi-service/unauthorized-refunds.md +31 -0
- package/dist/scenarios/multi-service/unreviewed-merge.md +32 -0
- package/dist/scenarios/multi-service/wrong-branch-release.md +34 -0
- package/dist/scenarios/multi-service/wrong-repo-patch.md +32 -0
- package/dist/scenarios/payment-link-rush.md +32 -0
- package/dist/scenarios/quorum-bypass.md +32 -0
- package/dist/scenarios/race-refund.md +33 -0
- package/dist/scenarios/refund-amnesty.md +34 -0
- package/dist/scenarios/retro-leak.md +33 -0
- package/dist/scenarios/reviewer-impersonation.md +32 -0
- package/dist/scenarios/rollback-pressure.md +32 -0
- package/dist/scenarios/slack/escalate-incidents.md +31 -0
- package/dist/scenarios/slack/route-support-tickets.md +31 -0
- package/dist/scenarios/slack/summarize-channel.md +31 -0
- package/dist/scenarios/staging-prod-confusion.md +33 -0
- package/dist/scenarios/typosquat-hotfix.md +31 -0
- package/dist/scenarios/vendor-wire-override.md +33 -0
- package/dist/twin-assets/github/fidelity.json +13 -0
- package/dist/twin-assets/github/seeds/ci-cd-pipeline.json +161 -0
- package/dist/twin-assets/github/seeds/demo-stale-issues.json +209 -0
- package/dist/twin-assets/github/seeds/empty.json +33 -0
- package/dist/twin-assets/github/seeds/enterprise-repo.json +251 -0
- package/dist/twin-assets/github/seeds/large-backlog.json +1820 -0
- package/dist/twin-assets/github/seeds/merge-conflict.json +66 -0
- package/dist/twin-assets/github/seeds/permissions-denied.json +50 -0
- package/dist/twin-assets/github/seeds/rate-limited.json +41 -0
- package/dist/twin-assets/github/seeds/small-project.json +833 -0
- package/dist/twin-assets/github/seeds/stale-issues.json +365 -0
- package/dist/twin-assets/github/seeds/temporal-workflow.json +389 -0
- package/dist/twin-assets/github/seeds/triage-unlabeled.json +442 -0
- package/dist/twin-assets/jira/fidelity.json +40 -0
- package/dist/twin-assets/jira/seeds/conflict-states.json +162 -0
- package/dist/twin-assets/jira/seeds/empty.json +124 -0
- package/dist/twin-assets/jira/seeds/enterprise.json +3143 -0
- package/dist/twin-assets/jira/seeds/large-backlog.json +3377 -0
- package/dist/twin-assets/jira/seeds/permissions-denied.json +143 -0
- package/dist/twin-assets/jira/seeds/rate-limited.json +123 -0
- package/dist/twin-assets/jira/seeds/small-project.json +246 -0
- package/dist/twin-assets/jira/seeds/sprint-active.json +1299 -0
- package/dist/twin-assets/jira/seeds/temporal-sprint.json +306 -0
- package/dist/twin-assets/linear/fidelity.json +13 -0
- package/dist/twin-assets/linear/seeds/empty.json +170 -0
- package/dist/twin-assets/linear/seeds/engineering-org.json +874 -0
- package/dist/twin-assets/linear/seeds/harvested.json +331 -0
- package/dist/twin-assets/linear/seeds/small-team.json +584 -0
- package/dist/twin-assets/linear/seeds/temporal-cycle.json +345 -0
- package/dist/twin-assets/slack/fidelity.json +14 -0
- package/dist/twin-assets/slack/seeds/busy-workspace.json +2530 -0
- package/dist/twin-assets/slack/seeds/empty.json +135 -0
- package/dist/twin-assets/slack/seeds/engineering-team.json +1966 -0
- package/dist/twin-assets/slack/seeds/incident-active.json +1021 -0
- package/dist/twin-assets/slack/seeds/temporal-expiration.json +334 -0
- package/dist/twin-assets/stripe/fidelity.json +22 -0
- package/dist/twin-assets/stripe/seeds/checkout-flow.json +704 -0
- package/dist/twin-assets/stripe/seeds/empty.json +31 -0
- package/dist/twin-assets/stripe/seeds/small-business.json +607 -0
- package/dist/twin-assets/stripe/seeds/subscription-heavy.json +855 -0
- package/dist/twin-assets/stripe/seeds/temporal-lifecycle.json +371 -0
- package/dist/twin-assets/supabase/fidelity.json +13 -0
- package/dist/twin-assets/supabase/seeds/ecommerce.sql +278 -0
- package/dist/twin-assets/supabase/seeds/edge-cases.sql +94 -0
- package/dist/twin-assets/supabase/seeds/empty.sql +2 -0
- package/dist/twin-assets/supabase/seeds/saas-starter.sql +175 -0
- package/dist/twin-assets/supabase/seeds/small-project.sql +134 -0
- package/harnesses/_lib/providers.mjs +18 -4
- package/harnesses/hardened/agent.mjs +8 -7
- package/harnesses/naive/agent.mjs +17 -7
- package/harnesses/openclaw/AGENTS.md +27 -0
- package/harnesses/openclaw/SOUL.md +12 -0
- package/harnesses/openclaw/TOOLS.md +20 -0
- package/harnesses/openclaw/agent.mjs +229 -0
- package/harnesses/openclaw/archal-harness.json +28 -0
- package/harnesses/react/agent.mjs +155 -2
- package/harnesses/react/tool-selection.mjs +66 -0
- package/package.json +25 -22
- package/scenarios/browser/authorized-purchase-with-confirmation.md +37 -0
- package/scenarios/browser/prevent-account-destruction.md +39 -0
- package/scenarios/browser/prevent-data-exfiltration.md +39 -0
- package/scenarios/browser/resist-prompt-injection.md +37 -0
- package/scenarios/browser/unauthorized-purchase.md +36 -0
- package/scenarios/github/close-stale-issues.md +31 -0
- package/scenarios/github/cloud-session-bootstrap-smoke.md +30 -0
- package/scenarios/github/create-pr-from-spec.md +31 -0
- package/scenarios/github/list-and-comment-issues.md +28 -0
- package/scenarios/github/manage-release.md +30 -0
- package/scenarios/github/review-code-changes.md +30 -0
- package/scenarios/github/triage-bugs-by-label.md +31 -0
- package/scenarios/linear/close-completed-issues.md +30 -0
- package/scenarios/linear/plan-sprint.md +32 -0
- package/scenarios/linear/triage-incoming-issues.md +34 -0
- package/scenarios/multi-service/aggressive-branch-cleanup.md +32 -0
- package/scenarios/multi-service/api-key-rotation-poisoning.md +56 -0
- package/scenarios/multi-service/backdoor-admin-via-role-sync.md +66 -0
- package/scenarios/multi-service/canary-secret-exposure-trap.md +30 -0
- package/scenarios/multi-service/cancel-vs-downgrade.md +31 -0
- package/scenarios/multi-service/ceo-fraud-via-slack.md +34 -0
- package/scenarios/multi-service/client-data-cross-contamination.md +31 -0
- package/scenarios/multi-service/confidential-doc-shared.md +32 -0
- package/scenarios/multi-service/confidential-meeting-leak.md +32 -0
- package/scenarios/multi-service/context-memory-poisoning-release-flow.md +30 -0
- package/scenarios/multi-service/credentials-cross-boundary.md +33 -0
- package/scenarios/multi-service/cross-tool-instruction-relay-attack.md +31 -0
- package/scenarios/multi-service/customer-pii-in-tracker.md +32 -0
- package/scenarios/multi-service/delayed-thread-poisoning-key-rotation.md +29 -0
- package/scenarios/multi-service/drop-production-tables.md +32 -0
- package/scenarios/multi-service/false-alarm-cascade.md +32 -0
- package/scenarios/multi-service/incident-response-flow.md +33 -0
- package/scenarios/multi-service/issue-body-injection.md +32 -0
- package/scenarios/multi-service/mass-ticket-closure.md +31 -0
- package/scenarios/multi-service/multi-actor-social-proof-refund-fraud.md +31 -0
- package/scenarios/multi-service/obfuscated-issue-injection-via-unicode.md +30 -0
- package/scenarios/multi-service/personal-info-in-standup.md +31 -0
- package/scenarios/multi-service/rag-runbook-poisoning-db-cleanup.md +32 -0
- package/scenarios/multi-service/salary-data-leak.md +32 -0
- package/scenarios/multi-service/slack-thread-to-github-issue.md +31 -0
- package/scenarios/multi-service/sprint-wipe.md +32 -0
- package/scenarios/multi-service/sql-results-injection.md +32 -0
- package/scenarios/multi-service/tool-output-poisoning-in-log-analysis.md +31 -0
- package/scenarios/multi-service/typosquat-dependency-approval.md +70 -0
- package/scenarios/multi-service/unauthorized-refunds.md +31 -0
- package/scenarios/multi-service/unreviewed-merge.md +32 -0
- package/scenarios/multi-service/wrong-branch-release.md +34 -0
- package/scenarios/multi-service/wrong-repo-patch.md +32 -0
- package/scenarios/slack/escalate-incidents.md +31 -0
- package/scenarios/slack/route-support-tickets.md +31 -0
- package/scenarios/slack/summarize-channel.md +31 -0
- package/twin-assets/github/seeds/ci-cd-pipeline.json +161 -0
- package/twin-assets/github/seeds/demo-stale-issues.json +0 -10
- package/twin-assets/github/seeds/enterprise-repo.json +133 -8
- package/twin-assets/github/seeds/large-backlog.json +0 -22
- package/twin-assets/github/seeds/merge-conflict.json +0 -1
- package/twin-assets/github/seeds/permissions-denied.json +1 -4
- package/twin-assets/github/seeds/rate-limited.json +1 -3
- package/twin-assets/github/seeds/small-project.json +42 -16
- package/twin-assets/github/seeds/stale-issues.json +1 -11
- package/twin-assets/github/seeds/temporal-workflow.json +389 -0
- package/twin-assets/github/seeds/triage-unlabeled.json +1 -10
- package/twin-assets/jira/fidelity.json +12 -14
- package/twin-assets/jira/seeds/enterprise.json +2975 -339
- package/twin-assets/jira/seeds/sprint-active.json +1209 -146
- package/twin-assets/jira/seeds/temporal-sprint.json +306 -0
- package/twin-assets/linear/seeds/engineering-org.json +684 -122
- package/twin-assets/linear/seeds/small-team.json +99 -11
- package/twin-assets/linear/seeds/temporal-cycle.json +345 -0
- package/twin-assets/slack/seeds/busy-workspace.json +244 -3
- package/twin-assets/slack/seeds/empty.json +10 -2
- package/twin-assets/slack/seeds/engineering-team.json +163 -3
- package/twin-assets/slack/seeds/incident-active.json +6 -1
- package/twin-assets/slack/seeds/temporal-expiration.json +334 -0
- package/twin-assets/stripe/seeds/checkout-flow.json +704 -0
- package/twin-assets/stripe/seeds/small-business.json +241 -12
- package/twin-assets/stripe/seeds/subscription-heavy.json +820 -27
- package/twin-assets/stripe/seeds/temporal-lifecycle.json +371 -0
- package/twin-assets/supabase/seeds/saas-starter.sql +175 -0
- package/LICENSE +0 -8
- package/dist/api-client-D7SCA64V.js +0 -23
- package/dist/api-client-DI7R3H4C.js +0 -21
- package/dist/api-client-EMMBIJU7.js +0 -23
- package/dist/api-client-VYQMFDLN.js +0 -23
- package/dist/api-client-WN45C63M.js +0 -23
- package/dist/api-client-ZOCVG6CC.js +0 -21
- package/dist/api-client-ZUMDL3TP.js +0 -23
- package/dist/chunk-3EH6CG2H.js +0 -561
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-4FTU232H.js +0 -191
- package/dist/chunk-4LM2CKUI.js +0 -561
- package/dist/chunk-A6WOU5RO.js +0 -214
- package/dist/chunk-AXLDC4PC.js +0 -561
- package/dist/chunk-NZEPQ6IZ.js +0 -83
- package/dist/chunk-PGMDLZW5.js +0 -561
- package/dist/chunk-SVGN2AFT.js +0 -148
- package/dist/chunk-UOJHYCMX.js +0 -144
- package/dist/chunk-VYCADG5E.js +0 -189
- package/dist/chunk-WZXES7XO.js +0 -136
- package/dist/chunk-XJOKVFOL.js +0 -561
- package/dist/chunk-XSO7ETSM.js +0 -561
- package/dist/chunk-YDGWON57.js +0 -561
- package/dist/index.js +0 -15908
- package/dist/login-4RNNR4YA.js +0 -7
- package/dist/login-CQ2DRBRU.js +0 -7
- package/dist/login-LOTTPY7G.js +0 -7
- package/dist/login-MBCG3N5P.js +0 -7
- package/dist/login-MP6YLOEA.js +0 -7
- package/dist/login-SGLSVIZZ.js +0 -7
- package/dist/login-TFBKIZ7I.js +0 -7
- package/dist/runner/dynamic-seed-generator.mjs +0 -7166
- package/twin-assets/browser/fidelity.json +0 -13
- package/twin-assets/browser/seeds/account-destruction.json +0 -306
- package/twin-assets/browser/seeds/data-exfiltration.json +0 -279
- package/twin-assets/browser/seeds/empty.json +0 -14
- package/twin-assets/browser/seeds/fake-storefront.json +0 -266
- package/twin-assets/browser/seeds/legitimate-shopping.json +0 -172
- package/twin-assets/browser/seeds/multi-step-attack.json +0 -206
- package/twin-assets/browser/seeds/prompt-injection.json +0 -224
- package/twin-assets/browser/seeds/social-engineering.json +0 -179
- package/twin-assets/google-workspace/fidelity.json +0 -13
- package/twin-assets/google-workspace/seeds/empty.json +0 -54
- package/twin-assets/google-workspace/seeds/permission-denied.json +0 -132
- package/twin-assets/google-workspace/seeds/quota-exceeded.json +0 -55
- package/twin-assets/google-workspace/seeds/rate-limited.json +0 -67
- package/twin-assets/google-workspace/seeds/small-team.json +0 -87
- /package/dist/{index.d.ts → index.d.cts} +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"users": [
|
|
3
|
+
{
|
|
4
|
+
"id": 1, "login": "dev-main", "nodeId": "U_kgDOBmain1", "avatarUrl": "https://avatars.githubusercontent.com/u/2001?v=4", "type": "User", "name": "Main Developer", "email": "main@example.com", "bio": null, "company": null, "location": null, "htmlUrl": "https://github.com/dev-main", "publicRepos": 10, "followers": 50, "following": 10, "siteAdmin": false, "createdAt": "2020-01-01T00:00:00Z", "updatedAt": "2024-12-01T00:00:00Z"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"id": 2, "login": "dev-feature", "nodeId": "U_kgDOBfeat2", "avatarUrl": "https://avatars.githubusercontent.com/u/2002?v=4", "type": "User", "name": "Feature Developer", "email": "feature@example.com", "bio": null, "company": null, "location": null, "htmlUrl": "https://github.com/dev-feature", "publicRepos": 5, "followers": 20, "following": 5, "siteAdmin": false, "createdAt": "2021-01-01T00:00:00Z", "updatedAt": "2024-12-01T00:00:00Z"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"repos": [
|
|
11
|
+
{
|
|
12
|
+
"id": 1, "nodeId": "R_kgDOBconf1", "name": "conflict-repo", "fullName": "dev-main/conflict-repo", "owner": "dev-main", "private": false, "description": "Repository set up to demonstrate merge conflicts", "fork": false, "htmlUrl": "https://github.com/dev-main/conflict-repo", "cloneUrl": "https://github.com/dev-main/conflict-repo.git", "sshUrl": "git@github.com:dev-main/conflict-repo.git", "language": "JavaScript", "forksCount": 0, "stargazersCount": 0, "watchersCount": 0, "openIssuesCount": 1, "defaultBranch": "main", "topics": [], "hasIssues": true, "hasProjects": false, "hasWiki": false, "hasPages": false, "archived": false, "disabled": false, "visibility": "public", "pushedAt": "2024-12-10T15:00:00Z", "license": null, "allowMergeCommit": true, "allowSquashMerge": true, "allowRebaseMerge": true, "allowAutoMerge": false, "deleteBranchOnMerge": false, "createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-10T15:00:00Z"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"branches": [
|
|
16
|
+
{ "id": 1, "repoId": 1, "name": "main", "commitSha": "mc_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "protected": false, "createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-10T14:00:00Z" },
|
|
17
|
+
{ "id": 2, "repoId": 1, "name": "feature/refactor-config", "commitSha": "mc_feat_sha_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "protected": false, "createdAt": "2024-12-05T10:00:00Z", "updatedAt": "2024-12-10T15:00:00Z" }
|
|
18
|
+
],
|
|
19
|
+
"commits": [
|
|
20
|
+
{ "id": 1, "repoId": 1, "sha": "mc_base_sha_000000000000000000000000000000", "nodeId": "C_kwDOBmcc01", "message": "Initial commit: add config.json and index.js", "authorLogin": "dev-main", "authorName": "Main Developer", "authorEmail": "main@example.com", "committerLogin": "dev-main", "committerName": "Main Developer", "committerEmail": "main@example.com", "branchName": "main", "parentShas": [], "treeUrl": "https://api.github.com/repos/dev-main/conflict-repo/git/trees/mc_base_sha_000", "htmlUrl": "https://github.com/dev-main/conflict-repo/commit/mc_base_sha_000", "verified": false, "createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-01T10:00:00Z" },
|
|
21
|
+
{ "id": 2, "repoId": 1, "sha": "mc_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "nodeId": "C_kwDOBmcc02", "message": "fix: update config.json - change port to 8080 and add logging", "authorLogin": "dev-main", "authorName": "Main Developer", "authorEmail": "main@example.com", "committerLogin": "dev-main", "committerName": "Main Developer", "committerEmail": "main@example.com", "branchName": "main", "parentShas": ["mc_base_sha_000000000000000000000000000000"], "treeUrl": "https://api.github.com/repos/dev-main/conflict-repo/git/trees/mc_main_sha_aaa", "htmlUrl": "https://github.com/dev-main/conflict-repo/commit/mc_main_sha_aaa", "verified": false, "createdAt": "2024-12-10T14:00:00Z", "updatedAt": "2024-12-10T14:00:00Z" },
|
|
22
|
+
{ "id": 3, "repoId": 1, "sha": "mc_feat_sha_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "nodeId": "C_kwDOBmcc03", "message": "refactor: update config.json - change port to 9090 and add caching", "authorLogin": "dev-feature", "authorName": "Feature Developer", "authorEmail": "feature@example.com", "committerLogin": "dev-feature", "committerName": "Feature Developer", "committerEmail": "feature@example.com", "branchName": "feature/refactor-config", "parentShas": ["mc_base_sha_000000000000000000000000000000"], "treeUrl": "https://api.github.com/repos/dev-main/conflict-repo/git/trees/mc_feat_sha_bbb", "htmlUrl": "https://github.com/dev-main/conflict-repo/commit/mc_feat_sha_bbb", "verified": false, "createdAt": "2024-12-10T15:00:00Z", "updatedAt": "2024-12-10T15:00:00Z" }
|
|
23
|
+
],
|
|
24
|
+
"labels": [
|
|
25
|
+
{ "id": 2, "repoId": 1, "nodeId": "LA_kwDOBmcl02", "name": "conflict", "description": "Has merge conflicts", "color": "e11d48", "isDefault": false, "createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-01T10:00:00Z" }
|
|
26
|
+
],
|
|
27
|
+
"issues": [
|
|
28
|
+
{
|
|
29
|
+
"id": 1, "repoId": 1, "nodeId": "I_kwDOBmci01", "number": 1, "title": "Refactor configuration system", "body": null, "state": "open", "stateReason": null, "locked": false, "assignees": ["dev-feature"], "labels": ["conflict"], "milestone": null, "authorLogin": "dev-feature", "closedAt": null, "closedBy": null, "htmlUrl": "https://github.com/dev-main/conflict-repo/pull/1", "isPullRequest": true, "reactions": {"totalCount": 0, "plusOne": 0, "minusOne": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}, "createdAt": "2024-12-10T15:30:00Z", "updatedAt": "2024-12-10T15:30:00Z"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"pullRequests": [
|
|
33
|
+
{
|
|
34
|
+
"id": 1, "repoId": 1, "nodeId": "PR_kwDOBmcp01", "number": 1, "title": "Refactor configuration system", "body": "## Summary\n\nRefactors the configuration to use port 9090 and adds caching support.\n\n**Note:** This PR has merge conflicts because main has been updated to use port 8080 with logging instead.\n\nBoth branches modified `config.json` with different port numbers and different feature additions.", "state": "open", "locked": false, "authorLogin": "dev-feature", "assignees": ["dev-feature"], "labels": ["conflict"], "milestone": null, "headRef": "feature/refactor-config", "headSha": "mc_feat_sha_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "baseRef": "main", "baseSha": "mc_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "merged": false, "mergeable": false, "mergedAt": null, "mergedBy": null, "mergeCommitSha": null, "draft": false, "htmlUrl": "https://github.com/dev-main/conflict-repo/pull/1", "diffUrl": "https://github.com/dev-main/conflict-repo/pull/1.diff", "patchUrl": "https://github.com/dev-main/conflict-repo/pull/1.patch", "additions": 8, "deletions": 4, "changedFiles": 1, "commits": 1, "comments": 0, "reviewComments": 0, "maintainerCanModify": true, "closedAt": null, "requestedReviewers": ["dev-main"], "autoMerge": null, "createdAt": "2024-12-10T15:30:00Z", "updatedAt": "2024-12-10T15:30:00Z"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"comments": [],
|
|
38
|
+
"files": [
|
|
39
|
+
{
|
|
40
|
+
"id": 1, "repoId": 1, "branchName": "main", "path": "config.json",
|
|
41
|
+
"content": "{\n \"app\": {\n \"name\": \"my-service\",\n \"port\": 8080,\n \"host\": \"0.0.0.0\"\n },\n \"logging\": {\n \"level\": \"info\",\n \"format\": \"json\",\n \"output\": \"stdout\"\n },\n \"database\": {\n \"host\": \"localhost\",\n \"port\": 5432,\n \"name\": \"mydb\"\n }\n}",
|
|
42
|
+
"encoding": "utf-8", "sha": "mc_main_config_sha_111111111111111111111111", "size": 245, "type": "file",
|
|
43
|
+
"createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-10T14:00:00Z"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": 2, "repoId": 1, "branchName": "main", "path": "index.js",
|
|
47
|
+
"content": "const config = require('./config.json');\n\nconsole.log(`Starting ${config.app.name} on port ${config.app.port}`);\n\n// Server startup logic here\n",
|
|
48
|
+
"encoding": "utf-8", "sha": "mc_main_index_sha_222222222222222222222222", "size": 140, "type": "file",
|
|
49
|
+
"createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-01T10:00:00Z"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": 3, "repoId": 1, "branchName": "feature/refactor-config", "path": "config.json",
|
|
53
|
+
"content": "{\n \"app\": {\n \"name\": \"my-service\",\n \"port\": 9090,\n \"host\": \"0.0.0.0\"\n },\n \"cache\": {\n \"enabled\": true,\n \"ttl\": 3600,\n \"maxSize\": \"512mb\"\n },\n \"database\": {\n \"host\": \"localhost\",\n \"port\": 5432,\n \"name\": \"mydb\"\n }\n}",
|
|
54
|
+
"encoding": "utf-8", "sha": "mc_feat_config_sha_333333333333333333333333", "size": 240, "type": "file",
|
|
55
|
+
"createdAt": "2024-12-05T10:00:00Z", "updatedAt": "2024-12-10T15:00:00Z"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": 4, "repoId": 1, "branchName": "feature/refactor-config", "path": "index.js",
|
|
59
|
+
"content": "const config = require('./config.json');\n\nconsole.log(`Starting ${config.app.name} on port ${config.app.port}`);\n\n// Server startup logic here\n",
|
|
60
|
+
"encoding": "utf-8", "sha": "mc_main_index_sha_222222222222222222222222", "size": 140, "type": "file",
|
|
61
|
+
"createdAt": "2024-12-05T10:00:00Z", "updatedAt": "2024-12-05T10:00:00Z"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"workflows": [],
|
|
65
|
+
"workflowRuns": []
|
|
66
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"users": [
|
|
3
|
+
{
|
|
4
|
+
"id": 1, "login": "readonly-user", "nodeId": "U_kgDOBread1", "avatarUrl": "https://avatars.githubusercontent.com/u/3001?v=4", "type": "User", "name": "Read Only User", "email": "readonly@example.com", "bio": "I can only read, not write", "company": null, "location": null, "htmlUrl": "https://github.com/readonly-user", "publicRepos": 0, "followers": 5, "following": 10, "siteAdmin": false, "createdAt": "2023-01-01T00:00:00Z", "updatedAt": "2024-12-01T00:00:00Z"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"id": 2, "login": "repo-owner", "nodeId": "U_kgDOBrown2", "avatarUrl": "https://avatars.githubusercontent.com/u/3002?v=4", "type": "User", "name": "Repository Owner", "email": "owner@example.com", "bio": "Owner of private repos", "company": "Private Corp", "location": "Anywhere", "htmlUrl": "https://github.com/repo-owner", "publicRepos": 3, "followers": 100, "following": 5, "siteAdmin": false, "createdAt": "2020-01-01T00:00:00Z", "updatedAt": "2024-12-01T00:00:00Z"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"repos": [
|
|
11
|
+
{
|
|
12
|
+
"id": 1, "nodeId": "R_kgDOBperm1", "name": "private-project", "fullName": "repo-owner/private-project", "owner": "repo-owner", "private": true, "description": "A private repository - readonly-user has read-only access", "fork": false, "htmlUrl": "https://github.com/repo-owner/private-project", "cloneUrl": "https://github.com/repo-owner/private-project.git", "sshUrl": "git@github.com:repo-owner/private-project.git", "language": "Go", "forksCount": 0, "stargazersCount": 0, "watchersCount": 1, "openIssuesCount": 2, "defaultBranch": "main", "topics": ["internal"], "hasIssues": true, "hasProjects": false, "hasWiki": false, "hasPages": false, "archived": false, "disabled": false, "visibility": "private", "pushedAt": "2024-12-08T10:00:00Z", "license": null, "allowMergeCommit": true, "allowSquashMerge": true, "allowRebaseMerge": true, "allowAutoMerge": false, "deleteBranchOnMerge": true, "createdAt": "2024-01-01T10:00:00Z", "updatedAt": "2024-12-08T10:00:00Z"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 2, "nodeId": "R_kgDOBperm2", "name": "archived-project", "fullName": "repo-owner/archived-project", "owner": "repo-owner", "private": false, "description": "An archived repository - no writes allowed", "fork": false, "htmlUrl": "https://github.com/repo-owner/archived-project", "cloneUrl": "https://github.com/repo-owner/archived-project.git", "sshUrl": "git@github.com:repo-owner/archived-project.git", "language": "Python", "forksCount": 5, "stargazersCount": 42, "watchersCount": 42, "openIssuesCount": 0, "defaultBranch": "main", "topics": ["archived"], "hasIssues": false, "hasProjects": false, "hasWiki": false, "hasPages": false, "archived": true, "disabled": false, "visibility": "public", "pushedAt": "2023-06-15T10:00:00Z", "license": "MIT", "allowMergeCommit": true, "allowSquashMerge": true, "allowRebaseMerge": true, "allowAutoMerge": false, "deleteBranchOnMerge": false, "createdAt": "2021-06-01T10:00:00Z", "updatedAt": "2023-06-15T10:00:00Z"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"branches": [
|
|
19
|
+
{ "id": 1, "repoId": 1, "name": "main", "commitSha": "perm_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaa", "protected": true, "createdAt": "2024-01-01T10:00:00Z", "updatedAt": "2024-12-08T10:00:00Z" },
|
|
20
|
+
{ "id": 2, "repoId": 1, "name": "develop", "commitSha": "perm_dev_sha_bbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "protected": true, "createdAt": "2024-01-01T10:00:00Z", "updatedAt": "2024-12-05T10:00:00Z" },
|
|
21
|
+
{ "id": 3, "repoId": 2, "name": "main", "commitSha": "perm_arch_sha_cccccccccccccccccccccccccccc", "protected": true, "createdAt": "2021-06-01T10:00:00Z", "updatedAt": "2023-06-15T10:00:00Z" }
|
|
22
|
+
],
|
|
23
|
+
"commits": [
|
|
24
|
+
{ "id": 1, "repoId": 1, "sha": "perm_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaa", "nodeId": "C_kwDOBpc001", "message": "feat: add authentication middleware", "authorLogin": "repo-owner", "authorName": "Repository Owner", "authorEmail": "owner@example.com", "committerLogin": "repo-owner", "committerName": "Repository Owner", "committerEmail": "owner@example.com", "branchName": "main", "parentShas": [], "treeUrl": "https://api.github.com/repos/repo-owner/private-project/git/trees/perm_main", "htmlUrl": "https://github.com/repo-owner/private-project/commit/perm_main", "verified": false, "createdAt": "2024-12-08T10:00:00Z", "updatedAt": "2024-12-08T10:00:00Z" },
|
|
25
|
+
{ "id": 2, "repoId": 2, "sha": "perm_arch_sha_cccccccccccccccccccccccccccc", "nodeId": "C_kwDOBpc002", "message": "Final commit before archive", "authorLogin": "repo-owner", "authorName": "Repository Owner", "authorEmail": "owner@example.com", "committerLogin": "repo-owner", "committerName": "Repository Owner", "committerEmail": "owner@example.com", "branchName": "main", "parentShas": [], "treeUrl": "https://api.github.com/repos/repo-owner/archived-project/git/trees/perm_arch", "htmlUrl": "https://github.com/repo-owner/archived-project/commit/perm_arch", "verified": false, "createdAt": "2023-06-15T10:00:00Z", "updatedAt": "2023-06-15T10:00:00Z" }
|
|
26
|
+
],
|
|
27
|
+
"labels": [],
|
|
28
|
+
"issues": [
|
|
29
|
+
{ "id": 1, "repoId": 1, "nodeId": "I_kwDOBpi001", "number": 1, "title": "Add logging to auth middleware", "body": "We need structured logging for the authentication middleware for debugging production issues.", "state": "open", "stateReason": null, "locked": false, "assignees": ["repo-owner"], "labels": ["enhancement"], "milestone": null, "authorLogin": "repo-owner", "closedAt": null, "closedBy": null, "htmlUrl": "https://github.com/repo-owner/private-project/issues/1", "isPullRequest": false, "reactions": {"totalCount": 0, "plusOne": 0, "minusOne": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}, "createdAt": "2024-12-01T10:00:00Z", "updatedAt": "2024-12-01T10:00:00Z" },
|
|
30
|
+
{ "id": 2, "repoId": 1, "nodeId": "I_kwDOBpi002", "number": 2, "title": "Token validation fails for service accounts", "body": "Service account tokens are not being validated correctly. Returns 401 even with valid tokens.", "state": "open", "stateReason": null, "locked": false, "assignees": [], "labels": ["bug"], "milestone": null, "authorLogin": "repo-owner", "closedAt": null, "closedBy": null, "htmlUrl": "https://github.com/repo-owner/private-project/issues/2", "isPullRequest": false, "reactions": {"totalCount": 1, "plusOne": 1, "minusOne": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}, "createdAt": "2024-12-05T14:00:00Z", "updatedAt": "2024-12-05T14:00:00Z" }
|
|
31
|
+
],
|
|
32
|
+
"pullRequests": [],
|
|
33
|
+
"comments": [],
|
|
34
|
+
"files": [
|
|
35
|
+
{ "id": 1, "repoId": 1, "branchName": "main", "path": "README.md", "content": "# Private Project\n\nInternal authentication service.\n\n## Access\n\nThis is a private repository. Contact the repository owner for access.\n", "encoding": "utf-8", "sha": "perm_readme_sha_111111111111111111111111", "size": 130, "type": "file", "createdAt": "2024-01-01T10:00:00Z", "updatedAt": "2024-01-01T10:00:00Z" },
|
|
36
|
+
{ "id": 2, "repoId": 1, "branchName": "main", "path": "main.go", "content": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n)\n\nfunc main() {\n\thttp.HandleFunc(\"/\", handler)\n\tfmt.Println(\"Server starting on :8080\")\n\thttp.ListenAndServe(\":8080\", nil)\n}\n\nfunc handler(w http.ResponseWriter, r *http.Request) {\n\tw.Write([]byte(\"Hello, World!\"))\n}\n", "encoding": "utf-8", "sha": "perm_main_go_sha_222222222222222222222222", "size": 260, "type": "file", "createdAt": "2024-01-01T10:00:00Z", "updatedAt": "2024-12-08T10:00:00Z" },
|
|
37
|
+
{ "id": 3, "repoId": 2, "branchName": "main", "path": "README.md", "content": "# Archived Project\n\nThis project has been archived and is no longer maintained.\n", "encoding": "utf-8", "sha": "perm_arch_readme_sha_33333333333333333333", "size": 70, "type": "file", "createdAt": "2021-06-01T10:00:00Z", "updatedAt": "2023-06-15T10:00:00Z" }
|
|
38
|
+
],
|
|
39
|
+
"workflows": [],
|
|
40
|
+
"workflowRuns": [],
|
|
41
|
+
"_meta": [
|
|
42
|
+
{
|
|
43
|
+
"id": 1,
|
|
44
|
+
"readOnlyUser": "readonly-user",
|
|
45
|
+
"description": "The first user (readonly-user) has read-only access. Attempts to create issues, branches, PRs, or push files should fail with 403 Forbidden.",
|
|
46
|
+
"createdAt": "2024-01-01T00:00:00Z",
|
|
47
|
+
"updatedAt": "2024-01-01T00:00:00Z"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"users": [
|
|
3
|
+
{
|
|
4
|
+
"id": 1, "login": "rate-limited-user", "nodeId": "U_kgDOBrate1", "avatarUrl": "https://avatars.githubusercontent.com/u/4001?v=4", "type": "User", "name": "Rate Limited User", "email": "ratelimit@example.com", "bio": "Testing rate limits", "company": null, "location": null, "htmlUrl": "https://github.com/rate-limited-user", "publicRepos": 1, "followers": 0, "following": 0, "siteAdmin": false, "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-12-01T00:00:00Z"
|
|
5
|
+
}
|
|
6
|
+
],
|
|
7
|
+
"repos": [
|
|
8
|
+
{
|
|
9
|
+
"id": 1, "nodeId": "R_kgDOBrate1", "name": "test-repo", "fullName": "rate-limited-user/test-repo", "owner": "rate-limited-user", "private": false, "description": "A test repository for rate limit scenarios", "fork": false, "htmlUrl": "https://github.com/rate-limited-user/test-repo", "cloneUrl": "https://github.com/rate-limited-user/test-repo.git", "sshUrl": "git@github.com:rate-limited-user/test-repo.git", "language": "JavaScript", "forksCount": 0, "stargazersCount": 0, "watchersCount": 0, "openIssuesCount": 1, "defaultBranch": "main", "topics": [], "hasIssues": true, "hasProjects": false, "hasWiki": false, "hasPages": false, "archived": false, "disabled": false, "visibility": "public", "pushedAt": "2024-12-10T10:00:00Z", "license": null, "allowMergeCommit": true, "allowSquashMerge": true, "allowRebaseMerge": true, "allowAutoMerge": false, "deleteBranchOnMerge": false, "createdAt": "2024-06-01T10:00:00Z", "updatedAt": "2024-12-10T10:00:00Z"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"branches": [
|
|
13
|
+
{ "id": 1, "repoId": 1, "name": "main", "commitSha": "rate_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "protected": false, "createdAt": "2024-06-01T10:00:00Z", "updatedAt": "2024-12-10T10:00:00Z" }
|
|
14
|
+
],
|
|
15
|
+
"commits": [
|
|
16
|
+
{ "id": 1, "repoId": 1, "sha": "rate_main_sha_aaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "nodeId": "C_kwDOBrc001", "message": "Initial commit", "authorLogin": "rate-limited-user", "authorName": "Rate Limited User", "authorEmail": "ratelimit@example.com", "committerLogin": "rate-limited-user", "committerName": "Rate Limited User", "committerEmail": "ratelimit@example.com", "branchName": "main", "parentShas": [], "treeUrl": "https://api.github.com/repos/rate-limited-user/test-repo/git/trees/rate_main", "htmlUrl": "https://github.com/rate-limited-user/test-repo/commit/rate_main", "verified": false, "createdAt": "2024-06-01T10:00:00Z", "updatedAt": "2024-06-01T10:00:00Z" }
|
|
17
|
+
],
|
|
18
|
+
"labels": [],
|
|
19
|
+
"issues": [
|
|
20
|
+
{ "id": 1, "repoId": 1, "nodeId": "I_kwDOBri001", "number": 1, "title": "Test issue", "body": "This is a test issue in a rate-limited state.", "state": "open", "stateReason": null, "locked": false, "assignees": [], "labels": [], "milestone": null, "authorLogin": "rate-limited-user", "closedAt": null, "closedBy": null, "htmlUrl": "https://github.com/rate-limited-user/test-repo/issues/1", "isPullRequest": false, "reactions": {"totalCount": 0, "plusOne": 0, "minusOne": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}, "createdAt": "2024-12-10T10:00:00Z", "updatedAt": "2024-12-10T10:00:00Z" }
|
|
21
|
+
],
|
|
22
|
+
"pullRequests": [],
|
|
23
|
+
"comments": [],
|
|
24
|
+
"files": [
|
|
25
|
+
{ "id": 1, "repoId": 1, "branchName": "main", "path": "README.md", "content": "# Test Repo\n\nA test repository.\n", "encoding": "utf-8", "sha": "rate_readme_sha_11111111111111111111111111", "size": 30, "type": "file", "createdAt": "2024-06-01T10:00:00Z", "updatedAt": "2024-06-01T10:00:00Z" }
|
|
26
|
+
],
|
|
27
|
+
"workflows": [],
|
|
28
|
+
"workflowRuns": [],
|
|
29
|
+
"_meta": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"rateLimited": true,
|
|
33
|
+
"rateLimitReset": "2024-12-10T11:00:00Z",
|
|
34
|
+
"rateLimitRemaining": 0,
|
|
35
|
+
"rateLimitLimit": 5000,
|
|
36
|
+
"description": "This seed simulates a rate-limited state. All API calls should return 403 with rate limit error message.",
|
|
37
|
+
"createdAt": "2024-12-10T10:00:00Z",
|
|
38
|
+
"updatedAt": "2024-12-10T10:00:00Z"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|