@async/api-contract 0.1.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 (64) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +150 -0
  3. package/dist/catalog.d.ts +4 -0
  4. package/dist/catalog.d.ts.map +1 -0
  5. package/dist/catalog.js +62 -0
  6. package/dist/catalog.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +106 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/compare.d.ts +4 -0
  12. package/dist/compare.d.ts.map +1 -0
  13. package/dist/compare.js +101 -0
  14. package/dist/compare.js.map +1 -0
  15. package/dist/derive.d.ts +3 -0
  16. package/dist/derive.d.ts.map +1 -0
  17. package/dist/derive.js +61 -0
  18. package/dist/derive.js.map +1 -0
  19. package/dist/diff.d.ts +3 -0
  20. package/dist/diff.d.ts.map +1 -0
  21. package/dist/diff.js +38 -0
  22. package/dist/diff.js.map +1 -0
  23. package/dist/hash.d.ts +8 -0
  24. package/dist/hash.d.ts.map +1 -0
  25. package/dist/hash.js +15 -0
  26. package/dist/hash.js.map +1 -0
  27. package/dist/impact.d.ts +7 -0
  28. package/dist/impact.d.ts.map +1 -0
  29. package/dist/impact.js +25 -0
  30. package/dist/impact.js.map +1 -0
  31. package/dist/index.d.ts +12 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +12 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/ledger.d.ts +3 -0
  36. package/dist/ledger.d.ts.map +1 -0
  37. package/dist/ledger.js +78 -0
  38. package/dist/ledger.js.map +1 -0
  39. package/dist/manifest.d.ts +3 -0
  40. package/dist/manifest.d.ts.map +1 -0
  41. package/dist/manifest.js +62 -0
  42. package/dist/manifest.js.map +1 -0
  43. package/dist/model.d.ts +125 -0
  44. package/dist/model.d.ts.map +1 -0
  45. package/dist/model.js +2 -0
  46. package/dist/model.js.map +1 -0
  47. package/dist/surface.d.ts +8 -0
  48. package/dist/surface.d.ts.map +1 -0
  49. package/dist/surface.js +26 -0
  50. package/dist/surface.js.map +1 -0
  51. package/dist/types.d.ts +20 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js +2 -0
  54. package/dist/types.js.map +1 -0
  55. package/dist/usage-scan.d.ts +16 -0
  56. package/dist/usage-scan.d.ts.map +1 -0
  57. package/dist/usage-scan.js +66 -0
  58. package/dist/usage-scan.js.map +1 -0
  59. package/examples/claims/claim.json +13 -0
  60. package/examples/db-ledger/API_SURFACE.md +26 -0
  61. package/examples/db-ledger/api-contract.json +42 -0
  62. package/examples/pipeline/API_SURFACE.md +37 -0
  63. package/examples/pipeline/api-contract.json +53 -0
  64. package/package.json +58 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "format": "api-contract.package.v1",
3
+ "packageName": "@async/db",
4
+ "catalogs": [
5
+ {
6
+ "format": "api-contract.catalog.v1",
7
+ "contractId": "@async/db.package",
8
+ "title": "Async DB Package Surface",
9
+ "features": [
10
+ {
11
+ "id": "cli.sync",
12
+ "title": "async-db sync command",
13
+ "releaseTag": "public",
14
+ "stability": "stable",
15
+ "group": "cli"
16
+ },
17
+ {
18
+ "id": "export.hono",
19
+ "title": "Optional Hono integration export",
20
+ "releaseTag": "beta",
21
+ "stability": "preview",
22
+ "group": "package-exports"
23
+ },
24
+ {
25
+ "id": "export.root",
26
+ "title": "Root package export",
27
+ "releaseTag": "public",
28
+ "stability": "stable",
29
+ "group": "package-exports"
30
+ }
31
+ ]
32
+ }
33
+ ],
34
+ "supported": [
35
+ {
36
+ "format": "api-contract.surface.v1",
37
+ "contractId": "@async/db.package",
38
+ "features": ["cli.sync", "export.hono", "export.root"],
39
+ "hash": "sha256:30ee7f5f65023461567b6de4e3bd81370207de1231e5d85c6153d4161dc43a36"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,37 @@
1
+ # @async/pipeline API Surface Ledger
2
+
3
+ This file is the generated review ledger for semantic API contract features. It is current-state contract documentation, not a changelog or tutorial.
4
+
5
+ ## Async Pipeline Declarations
6
+
7
+ Contract: `@async/pipeline.declaration`
8
+
9
+ ### Agents
10
+
11
+ | Feature | Title | Release | Stability | Lifecycle | Replacement | Docs |
12
+ | --- | --- | --- | --- | --- | --- | --- |
13
+ | `agent.stdoutTo` | Agent stdout routing | beta | preview | active | | |
14
+
15
+ ### Steps
16
+
17
+ | Feature | Title | Release | Stability | Lifecycle | Replacement | Docs |
18
+ | --- | --- | --- | --- | --- | --- | --- |
19
+ | `step.shell` | Shell step declaration | public | stable | active | | |
20
+
21
+ ### Tasks
22
+
23
+ | Feature | Title | Release | Stability | Lifecycle | Replacement | Docs |
24
+ | --- | --- | --- | --- | --- | --- | --- |
25
+ | `task.run` | Runnable task declaration | public | stable | active | | |
26
+
27
+ ## Supported Surfaces
28
+
29
+ | Contract | Hash | Features |
30
+ | --- | --- | --- |
31
+ | `@async/pipeline.declaration` | `sha256:634b6857ff21d8793f56cb78a0fbfd552c1148b11b4a6e14a0c58c894439dd3f` | `agent.stdoutTo`, `step.shell`, `task.run` |
32
+
33
+ ## Required Surfaces
34
+
35
+ | Contract | Hash | Features |
36
+ | --- | --- | --- |
37
+ | `@async/pipeline.declaration` | `sha256:6ed689db2412e486f7b1c57ba255d8ab244e9d1a801ebc143049449bc4b21a95` | `step.shell`, `task.run` |
@@ -0,0 +1,53 @@
1
+ {
2
+ "format": "api-contract.package.v1",
3
+ "packageName": "@async/pipeline",
4
+ "catalogs": [
5
+ {
6
+ "format": "api-contract.catalog.v1",
7
+ "contractId": "@async/pipeline.declaration",
8
+ "title": "Async Pipeline Declarations",
9
+ "features": [
10
+ {
11
+ "id": "agent.stdoutTo",
12
+ "title": "Agent stdout routing",
13
+ "releaseTag": "beta",
14
+ "stability": "preview",
15
+ "lifecycle": "active",
16
+ "group": "agents"
17
+ },
18
+ {
19
+ "id": "step.shell",
20
+ "title": "Shell step declaration",
21
+ "releaseTag": "public",
22
+ "stability": "stable",
23
+ "lifecycle": "active",
24
+ "group": "steps"
25
+ },
26
+ {
27
+ "id": "task.run",
28
+ "title": "Runnable task declaration",
29
+ "releaseTag": "public",
30
+ "stability": "stable",
31
+ "lifecycle": "active",
32
+ "group": "tasks"
33
+ }
34
+ ]
35
+ }
36
+ ],
37
+ "supported": [
38
+ {
39
+ "format": "api-contract.surface.v1",
40
+ "contractId": "@async/pipeline.declaration",
41
+ "features": ["agent.stdoutTo", "step.shell", "task.run"],
42
+ "hash": "sha256:634b6857ff21d8793f56cb78a0fbfd552c1148b11b4a6e14a0c58c894439dd3f"
43
+ }
44
+ ],
45
+ "required": [
46
+ {
47
+ "format": "api-contract.surface.v1",
48
+ "contractId": "@async/pipeline.declaration",
49
+ "features": ["step.shell", "task.run"],
50
+ "hash": "sha256:6ed689db2412e486f7b1c57ba255d8ab244e9d1a801ebc143049449bc4b21a95"
51
+ }
52
+ ]
53
+ }
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@async/api-contract",
3
+ "version": "0.1.0",
4
+ "description": "Semantic API contract surfaces, ledgers, and impact checks for Async packages.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/async/api-contract.git"
10
+ },
11
+ "packageManager": "pnpm@10.20.0",
12
+ "engines": {
13
+ "node": ">=24"
14
+ },
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "./types": {
21
+ "types": "./dist/types.d.ts",
22
+ "default": "./dist/types.js"
23
+ }
24
+ },
25
+ "bin": {
26
+ "api-contract": "./dist/cli.js"
27
+ },
28
+ "scripts": {
29
+ "async-pipeline": "async-pipeline",
30
+ "build": "tsc -p tsconfig.json && chmod +x dist/cli.js",
31
+ "pack:check": "npm --cache .async/npm-cache pack --dry-run",
32
+ "pipeline:github:check": "async-pipeline github check",
33
+ "pipeline:github:generate": "async-pipeline github generate",
34
+ "pipeline:publish": "async-pipeline run publish",
35
+ "pipeline:sync:check": "async-pipeline sync check",
36
+ "pipeline:verify": "async-pipeline run verify",
37
+ "release:check": "pnpm pipeline:verify",
38
+ "release:publish": "node scripts/publish-npm.mjs",
39
+ "test": "pnpm build && pnpm typecheck:contracts && node --test test/*.test.js",
40
+ "typecheck": "tsc --noEmit -p tsconfig.json",
41
+ "typecheck:contracts": "tsc --ignoreConfig --noEmit --module NodeNext --moduleResolution NodeNext --target ES2024 --strict test/types.test-d.ts"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "examples",
46
+ "README.md",
47
+ "CHANGELOG.md"
48
+ ],
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "sideEffects": false,
53
+ "devDependencies": {
54
+ "@async/pipeline": "0.2.4",
55
+ "@types/node": "24.12.4",
56
+ "typescript": "6.0.3"
57
+ }
58
+ }