shapi-cli 0.0.0-stage → 0.2.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 (61) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +49 -2
  3. package/advisories/anthropic-api-version-2026-10-21-sampling-params-400.json +35 -0
  4. package/advisories/github-workflow-dispatch-204-to-200.json +26 -0
  5. package/advisories/google-ads-api-v22-sunset.json +27 -0
  6. package/advisories/google-custom-search-json-api-shutdown.json +27 -0
  7. package/advisories/google-gemini-2-0-flash-shutdown.json +27 -0
  8. package/advisories/google-gemini-2-5-flash-image-shutdown.json +27 -0
  9. package/advisories/google-gemini-2-5-preview-tts-shutdown.json +27 -0
  10. package/advisories/hubspot-contact-lists-v1-sunset.json +28 -0
  11. package/advisories/hubspot-contacts-v1-list-memberships-removed.json +30 -0
  12. package/advisories/hubspot-marketing-emails-folderid-removed.json +39 -0
  13. package/advisories/hubspot-marketing-emails-v1-sunset.json +24 -0
  14. package/advisories/hubspot-pipelines-v1-sunset.json +44 -0
  15. package/advisories/meta-graph-commerce-order-management-removed.json +26 -0
  16. package/advisories/meta-graph-date-format-param-removed.json +30 -0
  17. package/advisories/meta-graph-delivery-estimate-fields-removed.json +30 -0
  18. package/advisories/meta-graph-instagram-oembed-fields-removed.json +33 -0
  19. package/advisories/meta-graph-marketing-api-v24-sunset.json +34 -0
  20. package/advisories/meta-graph-marketing-api-v25-sunset.json +35 -0
  21. package/advisories/meta-graph-page-insights-impressions-fans-removed.json +51 -0
  22. package/advisories/meta-graph-page-insights-reach-video-views-removed.json +57 -0
  23. package/advisories/meta-graph-root-ids-lookup-removed.json +30 -0
  24. package/advisories/meta-graph-v20-sunset.json +33 -0
  25. package/advisories/meta-graph-v21-sunset.json +33 -0
  26. package/advisories/openai-assistants-api-shutdown.json +27 -0
  27. package/advisories/openai-audio-translations-endpoint-shutdown.json +27 -0
  28. package/advisories/openai-evals-api-shutdown.json +27 -0
  29. package/advisories/quickbooks-companyinfo-neoenabled-removed.json +29 -0
  30. package/advisories/quickbooks-minorversion-below-75-ignored.json +40 -0
  31. package/advisories/quickbooks-refresh-token-five-year-hard-expiry.json +29 -0
  32. package/advisories/reddit-logged-out-json-403.json +25 -0
  33. package/advisories/salesforce-soap-login-broad-ip-range-token-required.json +30 -0
  34. package/advisories/salesforce-soap-login-disabled-when-unused.json +30 -0
  35. package/advisories/salesforce-soap-login-use-any-api-auth-required.json +31 -0
  36. package/advisories/shopify-admin-api-2026-01-unsupported.json +33 -0
  37. package/advisories/shopify-admin-api-2026-04-unsupported.json +33 -0
  38. package/advisories/shopify-global-catalog-rest-api-shutdown.json +24 -0
  39. package/advisories/shopify-non-expiring-offline-tokens-rejected.json +27 -0
  40. package/advisories/shopify-script-tags-stop-running.json +27 -0
  41. package/advisories/slack-files-upload-retired.json +28 -0
  42. package/advisories/stripe-checkout-session-ui-mode-values-renamed.json +53 -0
  43. package/advisories/twilio-conference-list-default-in-progress.json +27 -0
  44. package/advisories/twilio-notify-end-of-life.json +28 -0
  45. package/advisories/twilio-rcs-undelivered-error-code-30046.json +27 -0
  46. package/advisories/twilio-voice-insights-conference-participant-removed.json +28 -0
  47. package/advisories/x-activity-api-pascalcase-event-types-removed.json +31 -0
  48. package/advisories/x-self-serve-follow-writes-removed.json +27 -0
  49. package/advisories/x-self-serve-like-writes-removed.json +27 -0
  50. package/advisories/xero-accounting-transactions-scope-split.json +27 -0
  51. package/advisories/xero-allocations-contact-mismatch-rejected.json +27 -0
  52. package/advisories/xero-au-payroll-isqualifyingearnings-required.json +28 -0
  53. package/advisories/xero-finance-accounting-activities-decommissioned.json +28 -0
  54. package/advisories/xero-invoices-email-daily-limit-429.json +32 -0
  55. package/advisories/xero-nz-payroll-employee-tax-kiwisaverstatus-required.json +27 -0
  56. package/advisories/xero-organisation-class-ultra-enum.json +31 -0
  57. package/bin/shapi.js +4 -0
  58. package/dist/index.js +4206 -0
  59. package/dist/tree-sitter-python.wasm +0 -0
  60. package/package.json +52 -4
  61. package/recordings/github-workflow-dispatch-204-to-200.json +46 -0
Binary file
package/package.json CHANGED
@@ -1,6 +1,54 @@
1
1
  {
2
2
  "name": "shapi-cli",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.2.0",
4
+ "description": "Find the code that breaks when a third-party API changes, and fix it test-first.",
5
+ "keywords": [
6
+ "api",
7
+ "breaking-changes",
8
+ "api-lock",
9
+ "dependabot",
10
+ "github",
11
+ "stripe",
12
+ "codemod",
13
+ "contract-test"
14
+ ],
15
+ "type": "module",
16
+ "bin": {
17
+ "shapi": "bin/shapi.js"
18
+ },
19
+ "files": [
20
+ "bin",
21
+ "dist",
22
+ "advisories",
23
+ "recordings",
24
+ "README.md",
25
+ "LICENSE"
26
+ ],
27
+ "engines": {
28
+ "node": ">=22"
29
+ },
30
+ "license": "Apache-2.0",
31
+ "homepage": "https://github.com/SriVarshini09/YC#readme",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/SriVarshini09/YC.git",
35
+ "directory": "packages/cli"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/SriVarshini09/YC/issues"
39
+ },
40
+ "dependencies": {
41
+ "@anthropic-ai/sdk": "^1.1.0",
42
+ "@octokit/auth-app": "^8.3.1",
43
+ "@octokit/plugin-retry": "^8.1.1",
44
+ "@octokit/plugin-throttling": "^11.0.5",
45
+ "@octokit/rest": "^22.0.1",
46
+ "better-sqlite3": "^13.0.3",
47
+ "commander": "^15.0.0",
48
+ "tar": "^7.5.22",
49
+ "ts-morph": "^28.0.0",
50
+ "vitest": "^5.0.5",
51
+ "web-tree-sitter": "0.27.1",
52
+ "zod": "^4.6.7"
53
+ }
54
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "provider": "github",
3
+ "method": "POST",
4
+ "endpoint": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches",
5
+ "note": "Reconstruction of the December 2025 incident: before, 204 No Content (as documented and in GitHub's OpenAPI schema); after, 200 OK with a body. The 200 body uses the fields GitHub documents for this endpoint today (workflow_run_id, run_url, html_url). Values are placeholders; this is not captured traffic.",
6
+ "sources": [
7
+ "https://stategraph.com/blog/github-broke-the-contract",
8
+ "https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event"
9
+ ],
10
+ "observations": [
11
+ {
12
+ "observedAt": "2025-12-18T09:00:00Z",
13
+ "status": 204,
14
+ "headers": {
15
+ "x-github-api-version-selected": "2022-11-28",
16
+ "x-github-media-type": "github.v3; format=json",
17
+ "x-ratelimit-remaining": "4999",
18
+ "date": "Thu, 18 Dec 2025 09:00:00 GMT"
19
+ },
20
+ "body": ""
21
+ },
22
+ {
23
+ "observedAt": "2025-12-18T21:00:00Z",
24
+ "status": 204,
25
+ "headers": {
26
+ "x-github-api-version-selected": "2022-11-28",
27
+ "x-github-media-type": "github.v3; format=json",
28
+ "x-ratelimit-remaining": "4987",
29
+ "date": "Thu, 18 Dec 2025 21:00:00 GMT"
30
+ },
31
+ "body": ""
32
+ },
33
+ {
34
+ "observedAt": "2025-12-19T09:00:00Z",
35
+ "status": 200,
36
+ "headers": {
37
+ "content-type": "application/json; charset=utf-8",
38
+ "x-github-api-version-selected": "2022-11-28",
39
+ "x-github-media-type": "github.v3; format=json",
40
+ "x-ratelimit-remaining": "4999",
41
+ "date": "Fri, 19 Dec 2025 09:00:00 GMT"
42
+ },
43
+ "body": "{\"workflow_run_id\":20412345678,\"run_url\":\"https://api.github.com/repos/shapi-dev/canary/actions/runs/20412345678\",\"html_url\":\"https://github.com/shapi-dev/canary/actions/runs/20412345678\"}"
44
+ }
45
+ ]
46
+ }