@passioncode-ai/fabric-agent-adapter 0.85.0 → 0.85.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.85.1 (2026-11-13)
4
+
5
+ ### Changed
6
+
7
+ - **The release publishes to npm through trusted publishing alone** (FAA-87): `release.yml` is the package's trusted
8
+ publisher on npmjs.com since 2026-11-13, and its publish step no longer reads the `NPM_TOKEN` secret; the job's
9
+ `id-token: write` signs in and signs the provenance. No shipped code changes.
10
+
3
11
  ## 0.85.0 (2026-11-13)
4
12
 
5
13
  Wave 7 of the backlog sweep of 2026-11-12, part one. The contract pin stays at `93e7db16` (`v0.1.0+2026-11-08.1`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@passioncode-ai/fabric-agent-adapter",
3
- "version": "0.85.0",
3
+ "version": "0.85.1",
4
4
  "description": "Create Fabric-compatible agents, run them as always-alive local services with dashboards (fabric-service/0.1), and adapt existing projects to the Fabric Agent Contract. This package is the installer CLI.",
5
5
  "scripts": {
6
6
  "test": "python3 test/validate.py && python3 -m unittest discover -s test -q && node --test 'test/*.test.mjs'"
@@ -3,7 +3,7 @@
3
3
  "name": "fabric-agent-adapter",
4
4
  "displayName": "Fabric Agent Adapter",
5
5
  "description": "Create new Fabric-compatible agents, build them as always-alive local services with dashboards (fabric-service/0.1), and adapt existing projects to the Fabric Agent Contract through evidence-backed MCP, A2A, or local-runner provider bundles; and teach a coding agent to work in a project through Fabric (fabric-mcp, fabric_whoami, claim and release), with Claude Code session hooks; and put an agent on a standing watch over a product (observer mode).",
6
- "version": "0.85.0",
6
+ "version": "0.85.1",
7
7
  "author": {
8
8
  "name": "PassionCode.ai",
9
9
  "url": "https://passioncode.ai/"
@@ -9,7 +9,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
9
9
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned fabric-agent-contract checkout (a public repository). Works without those tools in an explicitly degraded structural-check mode.
10
10
  metadata:
11
11
  author: PassionCode.ai
12
- version: "0.85.0"
12
+ version: "0.85.1"
13
13
  contract-version: "0.1.0"
14
14
  contract-commit: "93e7db164c7829e2783b4b7705c4113bb5201131"
15
15
  ---
@@ -9,7 +9,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
9
9
  compatibility: Python 3.9+ or Node.js 20+ for the kits (Node.js 22+ for a Linux service's instance lock); the probe needs Python 3.9+. launchd steps are macOS-only; Linux services install a systemd user unit and Windows ones a per-user Scheduled Task with the kits' writers. Dashboard handoff optionally uses Fabric Dashboards MCP link/host_status/open; without it, report unresolved host capability. The contract checkout is optional. On macOS 27.2 run kit services and the probe on Apple's /usr/bin/python3.
10
10
  metadata:
11
11
  author: PassionCode.ai
12
- version: "0.85.0"
12
+ version: "0.85.1"
13
13
  contract-version: "0.1.0"
14
14
  extension: "fabric-service/0.1"
15
15
  extension-commit: "93e7db164c7829e2783b4b7705c4113bb5201131"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fabric-service-kit",
3
- "version": "0.85.0",
3
+ "version": "0.85.1",
4
4
  "about": "The service kit's modules in dependency order: a module imports only modules listed before it. Written by fabric_kit.py build; edit the order and layers by hand, never the digests.",
5
5
  "python": [
6
6
  {
@@ -7715,6 +7715,113 @@
7715
7715
  "fabric-package.schema.json": "2ba799f576fad0f608029223c4ccccd122152f1c5dbfa8ce8b31cd63ac92ad44",
7716
7716
  "share-registration.schema.json": "34b3997eeaf936ebc861342a23045634a7c18c19f01d7ed4198310d81989f5b0",
7717
7717
  "tailnet-groups.schema.json": "94d7885c337b3e24c3c43c758d1bcb3b340b828e564850d9348cd10d43e893a9"
7718
+ },
7719
+ "0.85.1": {
7720
+ "fabric_jsvalue.py": "b1a1c919da2d0d77b561b1eef0eafa5a8e65db3a9e0117e8d3e94d1028b92361",
7721
+ "fabric_time.py": "b17bfc379a16b642398f6a45683acaeee610284ee2d417fa0ceb728289983e69",
7722
+ "fabric_identifiers.py": "f8475b62b7a64957e7ac4d11a75db1f9cb12a6fd855658dfc3a0e7084fbcd27a",
7723
+ "fabric_secrets.py": "9d42597b34fc3240d0b57df3a1fab66a6efb0783a326402748ffd601cb676541",
7724
+ "fabric_socket_proof.py": "3b798ca92d87e07da21b65ec6832877a5ee3f5222116ab7688c4c8e0b3342b63",
7725
+ "fabric_peer_owner.py": "06f0392dcadddf425bc93b563d1519283f2e71f0dd5518500cce0477cdba06b3",
7726
+ "fabric_tailnet.py": "785bba5ff1d87cda2cd6c416c6cf4adca053b30adb0be6b1a6e92d25e8da21ea",
7727
+ "fabric_tailnet_identity.py": "7ea1faf69b881893ee293d58504cabfad42242fc95951f1d7d5dacd4e5cd9776",
7728
+ "fabric_crypto.py": "bcf2ad01e94f0a43f651fbff58686fd9715e54a13b7c13894a35e66606933b34",
7729
+ "fabric_base.py": "9a8675028a935b36bf37233d9c76db0451b4db1ab0bcd96d5120ccdf36a907a2",
7730
+ "fabric_platform.py": "77c0e70ca69c7de718948e08279f4e8ba2adf3d25c23afcd95d6a6a8ec2b3a2b",
7731
+ "fabric_paths.py": "e654348f421beba1611228a1ef6aca20bf1be32f7cafb99f0aeca22acda9a0c6",
7732
+ "fabric_estate_rules.py": "712a0ec20a461cabb375b665321e18eee7c86492b103616b95c2b6d08e64bb44",
7733
+ "fabric_estate.py": "c81eae03769c239dcd805d6b2268fa6e4f89393d229c77e3e2c2bd994b03d104",
7734
+ "fabric_mandate.py": "5b0be7d0f693dc2aca6a91334b5046ba949fc437e2178c704988331b9cff427d",
7735
+ "fabric_delegation.py": "70aa3e9415844c83be90a64131b0d377b4a5893927833af4f02f26db14327770",
7736
+ "fabric_share.py": "b360d582ffad9ce6ad54ada5f0e6adbe521d95fe76de4bafaeb84fe6ad5c476c",
7737
+ "fabric_ceremonies.py": "e8bf95233f27e3cedac368e9c700a632fb72fa25728828fd1d7a9f21247c75c5",
7738
+ "fabric_package_schema.py": "db5dbdda6dddcc97419e6751b79f77db48eb2a99c7e3f4df77581fcd9862824d",
7739
+ "fabric_package.py": "31fcdbf8d8d3587046de2094257fdf107f67e22826e39e6ca028707591d7f594",
7740
+ "fabric_protocols.py": "6001b61f124dd2c90cee695e11a7b9edd1146e895f8a7d0ed282eb8b0e8d01af",
7741
+ "fabric_actions.py": "e8b484cc8c9f197050b92be029c3ed2335d74dd2c9bf3a4f5620bc939f0dc9f4",
7742
+ "fabric_connections.py": "790b07761412590a46bb4a06f57a835d08d4e168e201ee6d5ec4b5a94ce69473",
7743
+ "fabric_a2a.py": "fead6285fa49502fc2282b2518f63cf2f0d42183bebc0c22f9b00d9430b4aa70",
7744
+ "fabric_page_links.py": "a7e0045c78148b372b6a47b709dd12f3394f5656d749dfc8654fb1518146154d",
7745
+ "fabric_load.py": "f44dbb2929aa9fa368784432adaa46e5351cd095c616a0eb4f114f74ec698465",
7746
+ "fabric_lock.py": "0c53b3a6537d248be35ca7be6c8be0a5fc6858c6f6ef1f406467a2783d67cfd4",
7747
+ "fabric_usage.py": "0078e1f6a2b2a6fc627a45fa1c714080f95bdd92da130308e05e5c97f914a904",
7748
+ "fabric_backups.py": "0d9f775c9c7bb138cbb954a96d07521b1172717660337098c507d8e782f72530",
7749
+ "fabric_descriptor.py": "d105395c78b38ce7b9f5f7070e20a2edb1258cb0be5dec8c4f55078ced9c94b5",
7750
+ "fabric_context.py": "a44cb7969e9c4c49dd1aa6f457312cad106331d428cc73e08551c4ea1602f911",
7751
+ "fabric_auth.py": "f2302938884ca29e3ea56e3412621d13f8c73180ab00fab54b21ac189825a1ba",
7752
+ "fabric_events.py": "122360164fb2a36677c6ce21344d2dafd56e4b1e708ba6ea85398d06997e64cd",
7753
+ "fabric_logs.py": "8716d2709b390b472981c579600ed089b7ffbbeeec6732f031b9b6cf0c95423c",
7754
+ "fabric_ops_digest.py": "43ee9448d39aead387f4e3d5aa2bfba57fe6194baf45766da30f6763508dfa35",
7755
+ "fabric_supervisors.py": "7e6326b16bde31e2f6610614812b9b107b08051afaeea7954f6c86e64ce9e14e",
7756
+ "fabric_service.py": "4646ae7cd9b534d6efa90e180cd1d5bf65acaf95f807cbe879c28adb6b5befdb",
7757
+ "fabric_profiles.py": "2981f20d496255ef8abc8f015d8a844ed20a7152103cde2f755d6519c21c5dad",
7758
+ "fabric_interop_rules.py": "ac7a89da9f91e4c3e6d0eface51c703ffbd29f77fd04f5afb549c34782afbdbf",
7759
+ "fabric_interop.py": "82aa9f64872161b31f1b5b8727f0ebb9fdaf70318de8d8ad50ef2349a87de58b",
7760
+ "fabric_holds.py": "b8cab8af0902739b944818f25b6a630d9c93f41101ca163716cc52c585249f58",
7761
+ "fabric_hub.py": "164d1ba906239507f358f30b6781dfec22ccc9da67eb2fe980cf33f341f1f7a5",
7762
+ "fabric_board_shapes.py": "1f2bdc2dc0d4e8d7a9c2ac0097a4b9490738a812b8a0eb7dc58decd2a0c04a3a",
7763
+ "fabric_board_link.py": "156f37fdb5f066cd8bb7fe6ed8101733a0a445e4d6ed1a8e34f5051cc8ec2fc6",
7764
+ "fabric_board_slots.py": "3e533e10d278a06c008929f7c78be71197750517c09fa97a2c08e02f9472b46c",
7765
+ "fabric_board_session.py": "4aac24673a19a54d773b87b5c59c60f8b0635331c46ba1470312a15d20524ab5",
7766
+ "fabric_board_fixture.py": "2b510226886527dba421878ff18efbf7f1c4bd56786558ce43504a81e607a0cb",
7767
+ "fabric_board.py": "8651db11729655a9d6e593cbb46fe22476f314d8c9684c10dd29b4b3a86dbabc",
7768
+ "fabric_http.py": "3f7d0f08713a06aec7bc33823eb6cfaf6f38d791c5998bf0de84b4b63d124afa",
7769
+ "fabric_openrouter.py": "8d52ecb819632512026ac593e6ab349d6ccbe3de3c40d81174114355d08db8bb",
7770
+ "fabric_a2a_server.py": "45dbb57fd7422b3631fb36dafbdce59cbbddec5bdf43c2c13ad49c9e90e16bd0",
7771
+ "fabric-jsvalue.mjs": "4d0db13620f7f9ef350961db0e02e63f705c9f459efc4063715332298a2845a8",
7772
+ "fabric-time.mjs": "a2ea5b8d138aa740ac3abdddb700455a900f9008cc8d2be5912d58ae47b134a1",
7773
+ "fabric-identifiers.mjs": "b9e738561498cf4dd8ae1479d9bf9fe29314b2ebb2c55d4665a59b5fe5d87204",
7774
+ "fabric-secrets.mjs": "98f850f78b8255493e4e9cb3393c2744986ced5585f40d7eb598deff0abba2a6",
7775
+ "fabric-socket-proof.mjs": "3c8e168faf468080f806b8726d4a313dc0e4f3ac82773c0d475a22541292a8e5",
7776
+ "fabric-peer-owner.mjs": "a6fc02ad21ee9a350d5320aea1f33e7f6aef40a64160bb111ea2bc6bf7fce060",
7777
+ "fabric-tailnet.mjs": "a55ac45da1fe4d230040211d7e3301c2a74a58caedbc52f6b762f642ab68a4b6",
7778
+ "fabric-tailnet-identity.mjs": "ac0dbe30b2c5942d59da52f86aca5faa9d17d886d9b40b5f98f49bb9331ae716",
7779
+ "fabric-crypto.mjs": "2f2e28ea41c749cd7dda4cbbf98b534a178e9012a1a9c4846f5ea0875ebba75d",
7780
+ "fabric-base.mjs": "e265a32ee0fe75a0de32661b10da960a07554d82b8e6a37105b10843e8bceddb",
7781
+ "fabric-platform.mjs": "3519a0ede667a3df3d58787fdd4a81e3a0ea1abb7bdf3e2d63c40c37612ea3d9",
7782
+ "fabric-paths.mjs": "fe9a949b0a80f984b8d995d531f0282ce02ae22ee297b591691173179ebe14b4",
7783
+ "fabric-estate-rules.mjs": "7c212e4f2deb9ef8e0d814a8a6d415024ed1aecda58d9f8c5533ae8073b067a7",
7784
+ "fabric-estate.mjs": "ba19bad815ad9e2f7f22c6109ce20f9a9406f5d01893a7514facc21705a09511",
7785
+ "fabric-mandate.mjs": "1a3e0c7d5602ef4f08cb68eb6242434fb44692209485f53fad2c42f3a3ca068d",
7786
+ "fabric-delegation.mjs": "5feecea58c87f228fc498cc33b3a806403c78e4c15e625efc3ae9bf767b2c925",
7787
+ "fabric-share.mjs": "81ae5b83f38bcb3e8e0a1843337721b2a14ec9affa5216b402ab6e2985e5d5ec",
7788
+ "fabric-ceremonies.mjs": "95086542fd05b91401cf63bd7670e1ea79084aa9b32b57263c40b9cf6db23846",
7789
+ "fabric-package-schema.mjs": "c13e3ea3e6cde71815111307251dec00023cd19dd5f9b2c033799a2eaf4df0e1",
7790
+ "fabric-package.mjs": "d847b2ee73312b4cddaf3ad30f3eda1032e2abf0b62dcc6b6e7d11db14073699",
7791
+ "fabric-protocols.mjs": "e86772118bf4a9bc958eeda434b979cb93f268982b503acdd74f5b0a336207a9",
7792
+ "fabric-actions.mjs": "8557360c2ef2701b7222da4bb231b92844ef373a57d5f9139703104252cb12c9",
7793
+ "fabric-connections.mjs": "5cfd0d54724c64368dbf5c2b8f403fbbb6870f64c312cfbfed0a92c3d3b45b3b",
7794
+ "fabric-a2a.mjs": "b7cb7e74b5589b6ec6f2b5c5a2178f06e9c6b2c9480d09cc780982df38118819",
7795
+ "fabric-page-links.mjs": "38acc6188ea5e546dd84767cdcae04287059b883db7e3922d5db29dc14139af4",
7796
+ "fabric-load.mjs": "b47e1b45a18bf29cf9b324772f70e7d3f9124053973d3d17f57859179579d20b",
7797
+ "fabric-lock.mjs": "0c607dcc62df293729237dd2da2659b1c6fd97d6283c69bc39ba86c9039c7f6e",
7798
+ "fabric-usage.mjs": "2be9fcabf208cd3ff4b9c488dca90cf2eaa1c82850b080a2083ddf3b622c7fb8",
7799
+ "fabric-backups.mjs": "0b1b76c1eff6139aa8e09b4dd0aa2bd614e095a4556ffe4d7c6e369bc29794d0",
7800
+ "fabric-descriptor.mjs": "390752629e83ba47f74d6e518416b1e77289ee8f3c902bae0f5b85037031c96b",
7801
+ "fabric-context.mjs": "7b485eb380a266507a6125880e0847bf1580a2ee39c5e2ae776a594598edef00",
7802
+ "fabric-auth.mjs": "83b4c0341c7fff8a73a93b60eced074f4916a34a22de516e54c7024210f20f2a",
7803
+ "fabric-events.mjs": "fb700ddf58f8140964643bc2d91d594526fbeb63517906acaa484ba30e8403cc",
7804
+ "fabric-logs.mjs": "73eda0788e717ae1638176d3366fa117086e1caab584f83365c3ca3cef3adc49",
7805
+ "fabric-ops-digest.mjs": "3b1ddb60ee6924d01ca4ee68d7a077cb645c5917bd957bd55b8efc0c12c16f8c",
7806
+ "fabric-supervisors.mjs": "34d3d676fe2f19ca96b07a0a5eb0f0a679185de1f5694dc7bbe6eeebae022341",
7807
+ "fabric-service.mjs": "b94cd9abbbd0f0c19e498b4cb947f783479cf8db851a56f0aa435a43c56e598c",
7808
+ "fabric-profiles.mjs": "9e854b0c4f1e5e8a14804db0a274b9963604bbe858733847dcc7bf2c52aef426",
7809
+ "fabric-interop-rules.mjs": "e15f4b812c706e8934f6317d2b5ea6f781eb6d27e47e27b3cdb44ad3fc46fdf7",
7810
+ "fabric-interop.mjs": "6ba01a0f96a6ca60ceda8122674fd555294d635187f365163849eaf61671f4bd",
7811
+ "fabric-holds.mjs": "ead752ceeb128ecc5d2fc141cc4102a72fad839807fcb6139788aa2f3590501d",
7812
+ "fabric-hub.mjs": "1a0f794d4b81d6d74eb1cf27154ec2388a6ce54281f1fc5432a09ed7e98ee1f2",
7813
+ "fabric-board-shapes.mjs": "b036a43320f9b8cb1ec3d272bd49faf1c2fe4ebc8b7c60da4de089d7b179356e",
7814
+ "fabric-board-link.mjs": "d16d78a9ab612b4a27a57d40eb0a8659e61a8595fd1114af6d7396f472a52922",
7815
+ "fabric-board-slots.mjs": "1f113c44e0e44ed72b21382a1ecb414b1d57c682419df644efc99113cc2d612c",
7816
+ "fabric-board-session.mjs": "0ea5c83b304492ceb14462b29db64252469b64a7cfc16ca52d54063645e876c1",
7817
+ "fabric-board-fixture.mjs": "b0b205e6721e217d37e63ad3587318d42a5a8e000e570e7d6d24d7aff5f22e59",
7818
+ "fabric-board.mjs": "cb296e1202a69cb8240b6b1843fe0d14b83a75f38b538f839968564835159b3b",
7819
+ "fabric-http.mjs": "c1b185bd6dba0dc08961914727f9a94de547371704ecd538cb07130fc471b2ae",
7820
+ "fabric-openrouter.mjs": "41bd267a7744a097b4e90cf952a2729c60145bb3d1cac501ad2f6e50823065a2",
7821
+ "fabric-a2a-server.mjs": "a0486f87c6c638ef82dc99e796bdd39653efed1592261131e12f29cf40a0d376",
7822
+ "fabric-package.schema.json": "2ba799f576fad0f608029223c4ccccd122152f1c5dbfa8ce8b31cd63ac92ad44",
7823
+ "share-registration.schema.json": "34b3997eeaf936ebc861342a23045634a7c18c19f01d7ed4198310d81989f5b0",
7824
+ "tailnet-groups.schema.json": "94d7885c337b3e24c3c43c758d1bcb3b340b828e564850d9348cd10d43e893a9"
7718
7825
  }
7719
7826
  },
7720
7827
  "data": {
@@ -9,7 +9,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
9
9
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned fabric-agent-contract checkout (a public repository). Works without those tools in an explicitly degraded structural-check mode. Ships in one plugin with adapting-projects-to-fabric, whose scripts it reuses.
10
10
  metadata:
11
11
  author: PassionCode.ai
12
- version: "0.85.0"
12
+ version: "0.85.1"
13
13
  contract-version: "0.1.0"
14
14
  contract-commit: "93e7db164c7829e2783b4b7705c4113bb5201131"
15
15
  ---
@@ -12,7 +12,7 @@ compatibility: >-
12
12
  from Project Observatory's vault by slot name when it is installed.
13
13
  metadata:
14
14
  author: PassionCode.ai
15
- version: "0.85.0"
15
+ version: "0.85.1"
16
16
  ---
17
17
 
18
18
  # Observing products
@@ -13,7 +13,7 @@ compatibility: >-
13
13
  this plugin; Codex/Kimi use command hooks; Hermes/OpenCode/OpenClaw/Pi use native context plugins after opt-in.
14
14
  metadata:
15
15
  author: PassionCode.ai
16
- version: "0.85.0"
16
+ version: "0.85.1"
17
17
  ---
18
18
 
19
19
  # Working with Fabric
@@ -58,7 +58,7 @@ SESSION_ID = re.compile(r"[A-Za-z0-9._:-]{1,128}")
58
58
  LOOPBACK_ORIGIN = re.compile(r"http://127\.0\.0\.1:(\d{1,5})")
59
59
 
60
60
 
61
- VERSION = "0.85.0"
61
+ VERSION = "0.85.1"
62
62
 
63
63
 
64
64
  HOSTS = {"claude": "Claude Code", "codex": "Codex", "kimi": "Kimi Code",