@passioncode-ai/fabric-agent-adapter 0.80.2 → 0.81.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/CHANGELOG.md +79 -0
- package/README.md +13 -2
- package/SECURITY.md +23 -8
- package/bin/fabric-agent-adapter.js +24 -1
- package/package.json +1 -1
- package/plugins/fabric-agent-adapter/.claude-plugin/plugin.json +1 -1
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/SKILL.md +6 -4
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/references/dashboard-links.md +8 -3
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/references/source-and-instance.md +44 -7
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/adapt_project.py +107 -2
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/check_dashboard_link.py +14 -2
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/fabric_secrets.py +18 -3
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/fabric_source_check.py +55 -75
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/fabric_source_restart.py +56 -0
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/fabric_source_tree.py +912 -0
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/new_agent.py +308 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/SKILL.md +5 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/recipes/support-agent/README.md +1 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/dashboard-links.md +8 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/delegation.md +5 -2
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/interop.md +28 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/kit-modules.md +3 -2
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/lifecycle.md +25 -9
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/migrating-a-service.md +1 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/package.md +10 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/protocol.md +22 -5
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/check_dashboard_layout.mjs +21 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/check_dashboard_link.py +14 -2
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/check_service.py +17 -28
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/check_service_channel_agent.py +2 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/check_service_rules.py +135 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-descriptor.mjs +78 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-holds.mjs +266 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-http.mjs +64 -5
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-package.mjs +98 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-peer-owner.mjs +3 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-protocols.mjs +1 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-secrets.mjs +10 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-service.mjs +5 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-supervisors.mjs +76 -11
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_descriptor.py +85 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_holds.py +316 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_http.py +31 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_package.py +103 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_peer_owner.py +13 -8
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_protocols.py +1 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_secrets.py +18 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_service.py +3 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_supervisors.py +64 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/kit.json +141 -17
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/SKILL.md +16 -6
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/agent-templates.md +44 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/communication-agent-template.md +19 -328
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/dashboard-links.md +8 -3
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/models-and-providers.md +1 -1
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/new-agent.md +42 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/source-and-instance.md +44 -7
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/schemas/template/access.schema.json +50 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/schemas/template/connections.schema.json +23 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/schemas/template/data-rooms.schema.json +74 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/schemas/template/manifest.schema.json +170 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/schemas/template/template-header.schema.json +25 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/scripts/check_dashboard_link.py +14 -2
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/scripts/template_check.py +491 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/CHANGELOG.md +7 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/TEMPLATE.md +347 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/access.json +24 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/assembly.md +15 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/checks/acceptance.md +17 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/connections.json +29 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/data-rooms.json +9 -0
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/templates/communication-agent/manifest.json +32 -0
- package/plugins/fabric-agent-adapter/skills/observing-products/SKILL.md +1 -1
- package/plugins/fabric-agent-adapter/skills/working-with-fabric/SKILL.md +1 -1
- package/plugins/fabric-agent-adapter/skills/working-with-fabric/references/project-board.md +1 -1
- package/plugins/fabric-agent-adapter/skills/working-with-fabric/scripts/fabric_session_env.py +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fabric-service-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.81.0",
|
|
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
|
{
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"file": "fabric_secrets.py",
|
|
32
32
|
"layer": "L0",
|
|
33
33
|
"imports": [],
|
|
34
|
-
"sha256": "
|
|
34
|
+
"sha256": "b8ee6910591f33456e9bf88415b0ea433c807e0dbb7fa8a92051350e17683f15"
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"module": "fabric_peer_owner",
|
|
38
38
|
"file": "fabric_peer_owner.py",
|
|
39
39
|
"layer": "L0",
|
|
40
40
|
"imports": [],
|
|
41
|
-
"sha256": "
|
|
41
|
+
"sha256": "7e71b9ac8da71da6b31852e4329dc8231075b8f391f04ede2b20900a8cbbb387"
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
"module": "fabric_tailnet",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"fabric_package_schema",
|
|
181
181
|
"fabric_secrets"
|
|
182
182
|
],
|
|
183
|
-
"sha256": "
|
|
183
|
+
"sha256": "8b835fcf173b8c345ea6d229edf8ebb98b0f94e9af4894c4a6bd1301f175e2b1"
|
|
184
184
|
},
|
|
185
185
|
{
|
|
186
186
|
"module": "fabric_protocols",
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"imports": [
|
|
190
190
|
"fabric_secrets"
|
|
191
191
|
],
|
|
192
|
-
"sha256": "
|
|
192
|
+
"sha256": "3cba881f6f3468e8d8a8455a5d54c5567e748c37291211a1c7f22d195ea562c4"
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
"module": "fabric_actions",
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
"fabric_secrets",
|
|
299
299
|
"fabric_usage"
|
|
300
300
|
],
|
|
301
|
-
"sha256": "
|
|
301
|
+
"sha256": "15bc54a6f4419113bead2e482d64f6581d12be0b9eb8e97ede03a7399f6a325e"
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
"module": "fabric_context",
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
"fabric_peer_owner",
|
|
360
360
|
"fabric_secrets"
|
|
361
361
|
],
|
|
362
|
-
"sha256": "
|
|
362
|
+
"sha256": "e5e77c7ddac742fd1882d42be33eb694906e7eb869abbee0e825d4f687936698"
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
365
|
"module": "fabric_service",
|
|
@@ -384,7 +384,7 @@
|
|
|
384
384
|
"fabric_time",
|
|
385
385
|
"fabric_usage"
|
|
386
386
|
],
|
|
387
|
-
"sha256": "
|
|
387
|
+
"sha256": "6ad0c177c2c83a3db5dede248eb10ba0947fffe0b345a9691c3e7db9ee1fba87"
|
|
388
388
|
},
|
|
389
389
|
{
|
|
390
390
|
"module": "fabric_profiles",
|
|
@@ -430,6 +430,19 @@
|
|
|
430
430
|
],
|
|
431
431
|
"sha256": "2b4d6c144f496dbd8788f616de9956bb8b6e89290713c406aa601511c82f4a46"
|
|
432
432
|
},
|
|
433
|
+
{
|
|
434
|
+
"module": "fabric_holds",
|
|
435
|
+
"file": "fabric_holds.py",
|
|
436
|
+
"layer": "L3",
|
|
437
|
+
"imports": [
|
|
438
|
+
"fabric_actions",
|
|
439
|
+
"fabric_base",
|
|
440
|
+
"fabric_interop_rules",
|
|
441
|
+
"fabric_paths",
|
|
442
|
+
"fabric_secrets"
|
|
443
|
+
],
|
|
444
|
+
"sha256": "cf4e8a92b685878adea9af6baf7d40037faee31e5359774b8d8481b8588c8cb3"
|
|
445
|
+
},
|
|
433
446
|
{
|
|
434
447
|
"module": "fabric_hub",
|
|
435
448
|
"file": "fabric_hub.py",
|
|
@@ -516,7 +529,7 @@
|
|
|
516
529
|
"fabric_jsvalue",
|
|
517
530
|
"fabric_peer_owner"
|
|
518
531
|
],
|
|
519
|
-
"sha256": "
|
|
532
|
+
"sha256": "0efd3e84bdde304f5ddfe6ce0ea7f77bb28aa5187e3fb7940a82378f26c573d5"
|
|
520
533
|
},
|
|
521
534
|
{
|
|
522
535
|
"module": "fabric_openrouter",
|
|
@@ -557,14 +570,14 @@
|
|
|
557
570
|
"file": "fabric-secrets.mjs",
|
|
558
571
|
"layer": "L0",
|
|
559
572
|
"imports": [],
|
|
560
|
-
"sha256": "
|
|
573
|
+
"sha256": "e06af295ce278369de105a5138288b6a6b5efcc9e972de693610a018cf9bdbd6"
|
|
561
574
|
},
|
|
562
575
|
{
|
|
563
576
|
"module": "fabric-peer-owner",
|
|
564
577
|
"file": "fabric-peer-owner.mjs",
|
|
565
578
|
"layer": "L0",
|
|
566
579
|
"imports": [],
|
|
567
|
-
"sha256": "
|
|
580
|
+
"sha256": "eb2d6f0c2a601bd168f6b0987c64ad05a2dcf38c1c2009708f79eafc266ac1ff"
|
|
568
581
|
},
|
|
569
582
|
{
|
|
570
583
|
"module": "fabric-tailnet",
|
|
@@ -704,7 +717,7 @@
|
|
|
704
717
|
"fabric-package-schema",
|
|
705
718
|
"fabric-secrets"
|
|
706
719
|
],
|
|
707
|
-
"sha256": "
|
|
720
|
+
"sha256": "aa75c4f6ff3dade68a47c6187666332a3845b3f5da98b50e3da7824d918e941f"
|
|
708
721
|
},
|
|
709
722
|
{
|
|
710
723
|
"module": "fabric-protocols",
|
|
@@ -713,7 +726,7 @@
|
|
|
713
726
|
"imports": [
|
|
714
727
|
"fabric-secrets"
|
|
715
728
|
],
|
|
716
|
-
"sha256": "
|
|
729
|
+
"sha256": "26eeb8c63e9881d8fa56389455626f2bb80725bbc25b9d6ed756af88c05a848e"
|
|
717
730
|
},
|
|
718
731
|
{
|
|
719
732
|
"module": "fabric-actions",
|
|
@@ -822,7 +835,7 @@
|
|
|
822
835
|
"fabric-secrets",
|
|
823
836
|
"fabric-usage"
|
|
824
837
|
],
|
|
825
|
-
"sha256": "
|
|
838
|
+
"sha256": "ac172e0f906b4f530ff03ab43c750e6a8079c4f21c0178ae1b58e99e7534df8e"
|
|
826
839
|
},
|
|
827
840
|
{
|
|
828
841
|
"module": "fabric-context",
|
|
@@ -884,7 +897,7 @@
|
|
|
884
897
|
"fabric-peer-owner",
|
|
885
898
|
"fabric-secrets"
|
|
886
899
|
],
|
|
887
|
-
"sha256": "
|
|
900
|
+
"sha256": "6d9fecb0f19e82548c991be2e7e76e1bde5405fa34c6606f90025cc14128395e"
|
|
888
901
|
},
|
|
889
902
|
{
|
|
890
903
|
"module": "fabric-service",
|
|
@@ -907,7 +920,7 @@
|
|
|
907
920
|
"fabric-supervisors",
|
|
908
921
|
"fabric-usage"
|
|
909
922
|
],
|
|
910
|
-
"sha256": "
|
|
923
|
+
"sha256": "3beca77cacc4becdbc440ccc1449d1a7fc6451fb7e1f664ffbfaa5b1895938d1"
|
|
911
924
|
},
|
|
912
925
|
{
|
|
913
926
|
"module": "fabric-profiles",
|
|
@@ -947,6 +960,19 @@
|
|
|
947
960
|
],
|
|
948
961
|
"sha256": "989040aed33b2712a258244192bdf70e811a51076aa1b62f2adc2a6db051dbed"
|
|
949
962
|
},
|
|
963
|
+
{
|
|
964
|
+
"module": "fabric-holds",
|
|
965
|
+
"file": "fabric-holds.mjs",
|
|
966
|
+
"layer": "L3",
|
|
967
|
+
"imports": [
|
|
968
|
+
"fabric-actions",
|
|
969
|
+
"fabric-base",
|
|
970
|
+
"fabric-interop-rules",
|
|
971
|
+
"fabric-paths",
|
|
972
|
+
"fabric-secrets"
|
|
973
|
+
],
|
|
974
|
+
"sha256": "8ecce5c18e1c7f9a26502dc77507c163e17d2cd4d661905e3c9d8f1964dbe2e8"
|
|
975
|
+
},
|
|
950
976
|
{
|
|
951
977
|
"module": "fabric-hub",
|
|
952
978
|
"file": "fabric-hub.mjs",
|
|
@@ -1032,7 +1058,7 @@
|
|
|
1032
1058
|
"imports": [
|
|
1033
1059
|
"fabric-peer-owner"
|
|
1034
1060
|
],
|
|
1035
|
-
"sha256": "
|
|
1061
|
+
"sha256": "7bb5e41d2fbd3ba2717946777be7fd91e41ec4514a92aae2351ae8c4f2439476"
|
|
1036
1062
|
},
|
|
1037
1063
|
{
|
|
1038
1064
|
"module": "fabric-openrouter",
|
|
@@ -6859,6 +6885,104 @@
|
|
|
6859
6885
|
"fabric-openrouter.mjs": "4e3e73a1b8882bdde4cbb311f6f4a5e2f048fa81fa245409a16df1e6cab03e19",
|
|
6860
6886
|
"fabric-package.schema.json": "2ba799f576fad0f608029223c4ccccd122152f1c5dbfa8ce8b31cd63ac92ad44",
|
|
6861
6887
|
"share-registration.schema.json": "34b3997eeaf936ebc861342a23045634a7c18c19f01d7ed4198310d81989f5b0"
|
|
6888
|
+
},
|
|
6889
|
+
"0.81.0": {
|
|
6890
|
+
"fabric_jsvalue.py": "052f1b40bab18600b3731dbdca27cbff17588c21d9458fa6241efd1340d0e09a",
|
|
6891
|
+
"fabric_time.py": "588f383da4ac6a243ea95b6ffc3a0aa99ca94245732dc4937734f190b7af4ae9",
|
|
6892
|
+
"fabric_identifiers.py": "0fd814d521ac3aa39907458265870753046a73f48af3d8581ab864b93b211607",
|
|
6893
|
+
"fabric_secrets.py": "b8ee6910591f33456e9bf88415b0ea433c807e0dbb7fa8a92051350e17683f15",
|
|
6894
|
+
"fabric_peer_owner.py": "7e71b9ac8da71da6b31852e4329dc8231075b8f391f04ede2b20900a8cbbb387",
|
|
6895
|
+
"fabric_tailnet.py": "c60416539be0199182f7969c24a37b14d0db50c8ea5e3e04cea43babfb483407",
|
|
6896
|
+
"fabric_crypto.py": "9c34aee20dbe4d6742e4fdbaab68ceb934bbe7dbd3a904c0010824ace16cdeaa",
|
|
6897
|
+
"fabric_base.py": "d8c67f345e30332cce3664af77b0e6e07cd477b78c961ac009e9efee1be7e1b2",
|
|
6898
|
+
"fabric_platform.py": "a9350dff55ef0fb3a23cdb4d0320a15868b15a8deb10d2eb74d72c58740c284b",
|
|
6899
|
+
"fabric_paths.py": "8a1ee742f80f436e9f28c61b4f049a9545de2a9e0d66bfc61faa6ee5d1ba3734",
|
|
6900
|
+
"fabric_estate_rules.py": "8b36a7f4108d9c2b1fb38c8bff344778c807bed631a99b4a563ecb0a49c10b1c",
|
|
6901
|
+
"fabric_estate.py": "0737ae1d1bb12586bae49de1f15ef1348bc207b5007cced9dad4c55bb5870874",
|
|
6902
|
+
"fabric_mandate.py": "fb19ce5359606bd6e3352ab02b2a12f49605ec6e5c49b55cce1f79c831325044",
|
|
6903
|
+
"fabric_delegation.py": "e923be4d2d901d5e0d8bf16b05a637119464009a51cffb247bd20de5e9c1d0c9",
|
|
6904
|
+
"fabric_share.py": "da36a466426fc29dd7dd40013167f3959a18375f8fedd228bf64f298cec1040c",
|
|
6905
|
+
"fabric_ceremonies.py": "a59e83cf4adb2669a9b98008e3d3a0cba991a35cbff97bc604fc82fe81cfd49f",
|
|
6906
|
+
"fabric_package_schema.py": "e623f0408d38e3343ed66222fb812907c6c52e1a286eb1c1176ab2e64640c9ad",
|
|
6907
|
+
"fabric_package.py": "8b835fcf173b8c345ea6d229edf8ebb98b0f94e9af4894c4a6bd1301f175e2b1",
|
|
6908
|
+
"fabric_protocols.py": "3cba881f6f3468e8d8a8455a5d54c5567e748c37291211a1c7f22d195ea562c4",
|
|
6909
|
+
"fabric_actions.py": "ae21d1199614c4f74d1dcd1e0a87107a9d52434cd9e2d64aa24a7b1e196fb723",
|
|
6910
|
+
"fabric_connections.py": "5499d421c658f8bf00241e5e2291bd02d9ea473a229a812de3d3de9a62562ae6",
|
|
6911
|
+
"fabric_a2a.py": "8b01502131215bb4de1c01866187c56e99b791543923ed8577535573db33b919",
|
|
6912
|
+
"fabric_page_links.py": "1b57ea573c550e2f90d1ec3edcc655917ceaa0db9dd1635fccf422ec3024d25e",
|
|
6913
|
+
"fabric_load.py": "0e97b6307108c5877a728be8f0c416686130ce98b31c4dfd5d788d9dc61a8860",
|
|
6914
|
+
"fabric_lock.py": "10d6a2321ac8da47fc6f5bb01b32e2f8c8c966ef6d7145cf3b12bd35156bd650",
|
|
6915
|
+
"fabric_usage.py": "c1a605a84e57c5ab5d3b2bd824412c20219c237dfc4bc13f778f75340905f51e",
|
|
6916
|
+
"fabric_backups.py": "1f3f0d7ecf361b29e9101e07f1c53e5dc304d598bf26fd59ec89f16b9fed2420",
|
|
6917
|
+
"fabric_descriptor.py": "15bc54a6f4419113bead2e482d64f6581d12be0b9eb8e97ede03a7399f6a325e",
|
|
6918
|
+
"fabric_context.py": "59e39fb9fd91f713f6e92ea3ec7e8252107efd148847f05934892158b326db4d",
|
|
6919
|
+
"fabric_auth.py": "74ccc10239b65a3567cec5213a7b344cbd88d6eee1fd1c5f7be1d6daf985993c",
|
|
6920
|
+
"fabric_events.py": "da3fe3e3e19d4c9754b90c719e9c069a3ac85e080b9fffd07adbaf63b5bfcf0d",
|
|
6921
|
+
"fabric_logs.py": "86dc55bfafa2a57264722e2403510a249b95de0e4a722b2e4bc3948e3bd93da9",
|
|
6922
|
+
"fabric_supervisors.py": "e5e77c7ddac742fd1882d42be33eb694906e7eb869abbee0e825d4f687936698",
|
|
6923
|
+
"fabric_service.py": "6ad0c177c2c83a3db5dede248eb10ba0947fffe0b345a9691c3e7db9ee1fba87",
|
|
6924
|
+
"fabric_profiles.py": "26e21ec29c016000f8ca8053b7b489184854a73be1b7fdc0a18d12990203db9b",
|
|
6925
|
+
"fabric_interop_rules.py": "9bdb7989e57b9d0b0d15eb9982d396499823a5e2c528230b71c67866c736e0f5",
|
|
6926
|
+
"fabric_interop.py": "2b4d6c144f496dbd8788f616de9956bb8b6e89290713c406aa601511c82f4a46",
|
|
6927
|
+
"fabric_holds.py": "cf4e8a92b685878adea9af6baf7d40037faee31e5359774b8d8481b8588c8cb3",
|
|
6928
|
+
"fabric_hub.py": "484d0480e2ae2b82f62647104e1383576646f226045a444d4c9dc1c5e5c7eee2",
|
|
6929
|
+
"fabric_board_shapes.py": "0a0e8d3d40e33dfd8c457aedb85330b2ff25f8c49a33eb6cbd5a5cc8a5007f7e",
|
|
6930
|
+
"fabric_board_link.py": "37aacd7afb0b7971c60f434d489fbfc556a70d8da87257179d891be4d2b661b0",
|
|
6931
|
+
"fabric_board_slots.py": "377407183d91f5cfe264274024f0895e58fa97a84cbcead51eaa78c671d5806d",
|
|
6932
|
+
"fabric_board_session.py": "21623dc42eb8be9f4586ab403c0dde597d1e3c38b366bf57621e1401ddbe5096",
|
|
6933
|
+
"fabric_board_fixture.py": "69761ce205ec640762ec9b591c6903e5a87f844e8d423b041681924027e39d1e",
|
|
6934
|
+
"fabric_board.py": "f86c40b8291f8c818f6924910f4022b013d5fd107abaf8825dd0aa6c5e418638",
|
|
6935
|
+
"fabric_http.py": "0efd3e84bdde304f5ddfe6ce0ea7f77bb28aa5187e3fb7940a82378f26c573d5",
|
|
6936
|
+
"fabric_openrouter.py": "a415db7475c3359fa15c85979a63a3a223a0ad7f85f878bcc2d638acccb44090",
|
|
6937
|
+
"fabric-jsvalue.mjs": "dfbdb8c41584972c9389750a41719374a1cfc5652ed438dd1623025190b0106e",
|
|
6938
|
+
"fabric-time.mjs": "3ff932069038a720df1c68c6492976906737b2e67e5c12d9c81c418597f661de",
|
|
6939
|
+
"fabric-identifiers.mjs": "a18c2a501a4aa170bfd3d99e571ad6b7662649b4d3b9d2a540c002ea42811bbf",
|
|
6940
|
+
"fabric-secrets.mjs": "e06af295ce278369de105a5138288b6a6b5efcc9e972de693610a018cf9bdbd6",
|
|
6941
|
+
"fabric-peer-owner.mjs": "eb2d6f0c2a601bd168f6b0987c64ad05a2dcf38c1c2009708f79eafc266ac1ff",
|
|
6942
|
+
"fabric-tailnet.mjs": "aff3591552448bc042af306cd8a9e5cb9102c6b62d6dc05d53db35e35c51e347",
|
|
6943
|
+
"fabric-crypto.mjs": "038e03689701e3c9721a1e7f8e0a4d02a52d6a5d1661b0dc84035edc3ebbfcf6",
|
|
6944
|
+
"fabric-base.mjs": "1a804bfc3ec5d2479ffc39d3c8d67b056b72af836e1b88102881f9ff632f1901",
|
|
6945
|
+
"fabric-platform.mjs": "a8119d95ebba4d589a9e401f5d6fc8dda62d59d44e4c1ff811d97fac3771ac0c",
|
|
6946
|
+
"fabric-paths.mjs": "aa630d611e748a899e7043480f4a4e46b444f2e15ff945f30c2fbef21c1ceea5",
|
|
6947
|
+
"fabric-estate-rules.mjs": "7476be71174aa5b1026134f2b335abf647feaa55584e2f9de8618e3054aa8e1e",
|
|
6948
|
+
"fabric-estate.mjs": "e8a2e62d2313121e6cb502f6e6abad94d1d546a44b4d9b3ce2be29e7808e8cf3",
|
|
6949
|
+
"fabric-mandate.mjs": "b70f3de03a659e60bba7b5a0580b3582825cd7b8a8e30a28c79621919ec5b7bb",
|
|
6950
|
+
"fabric-delegation.mjs": "27b8f28d072c756b60f5cb90957e22700500dc8eb86ba18bd61c451e6788390b",
|
|
6951
|
+
"fabric-share.mjs": "bfb26581c21ad984c2a337da02429f9f3a165cc582f8ba48de4d3dfb7d163a59",
|
|
6952
|
+
"fabric-ceremonies.mjs": "117d4374c9e95c930a38de7adbd4323774798f4fe6ec6f24afcd6f2c7298ca44",
|
|
6953
|
+
"fabric-package-schema.mjs": "cd28092375db0fc21ffab1f0bb7794f7f8979ee08c64d3b9faf4b3845357caa6",
|
|
6954
|
+
"fabric-package.mjs": "aa75c4f6ff3dade68a47c6187666332a3845b3f5da98b50e3da7824d918e941f",
|
|
6955
|
+
"fabric-protocols.mjs": "26eeb8c63e9881d8fa56389455626f2bb80725bbc25b9d6ed756af88c05a848e",
|
|
6956
|
+
"fabric-actions.mjs": "06e42f5e24c96311d5417d0d1effa93479ef7128a7ab139903b2bcf59253f6be",
|
|
6957
|
+
"fabric-connections.mjs": "303432e547ce563e90ca9ffcd827f5612f51d3582929834e1add0fdaf6485dcc",
|
|
6958
|
+
"fabric-a2a.mjs": "51b72fe1d80649d659fcad3a8f96370db3476c4a7b30cbabd8522c138be69346",
|
|
6959
|
+
"fabric-page-links.mjs": "a8834926e9d4bbf7c4857f551451d2ebf6ac8873bbccaaf89c5e30cf45b17ee6",
|
|
6960
|
+
"fabric-load.mjs": "88d9fc5576ac605a038b7ca8a8498aa0dc5848dee94f66c4c7900bd9de48e935",
|
|
6961
|
+
"fabric-lock.mjs": "cf79c3aed04dfd36833929f7edd76404976699ac7a8fe38820f0fa02fc2243be",
|
|
6962
|
+
"fabric-usage.mjs": "d42ae671a1182a542f94a83cc297b1ef2161376f4f56267a8915e7123c025087",
|
|
6963
|
+
"fabric-backups.mjs": "cfd8c9085e3d597a783099c2bd2ffe2f3faa0daaadab46dedd30523894cfeb06",
|
|
6964
|
+
"fabric-descriptor.mjs": "ac172e0f906b4f530ff03ab43c750e6a8079c4f21c0178ae1b58e99e7534df8e",
|
|
6965
|
+
"fabric-context.mjs": "ac88273a7ff0010a122c9bd309012a484c439ffd6e9e16923f103a3f8de7a539",
|
|
6966
|
+
"fabric-auth.mjs": "10ff37a39f9e3adb4d0f05db66c45f49b10eef582e9220c213907964109d7e52",
|
|
6967
|
+
"fabric-events.mjs": "c95c07e2745e52fddbb7237b89824123f240d4f8d6b14f5cb269a09e1845c3ba",
|
|
6968
|
+
"fabric-logs.mjs": "58467e5719c16e099d05bbedec47a95712506ab03c33f3cd4be1252e8498a946",
|
|
6969
|
+
"fabric-supervisors.mjs": "6d9fecb0f19e82548c991be2e7e76e1bde5405fa34c6606f90025cc14128395e",
|
|
6970
|
+
"fabric-service.mjs": "3beca77cacc4becdbc440ccc1449d1a7fc6451fb7e1f664ffbfaa5b1895938d1",
|
|
6971
|
+
"fabric-profiles.mjs": "314376cf2deb87f235fb18b11d3b532e211f585b9af0a9302b5f4cc39971b532",
|
|
6972
|
+
"fabric-interop-rules.mjs": "b4e386c359a48e49ffff8a842215760c18a7c98a0af4754a808a35fb2820d458",
|
|
6973
|
+
"fabric-interop.mjs": "989040aed33b2712a258244192bdf70e811a51076aa1b62f2adc2a6db051dbed",
|
|
6974
|
+
"fabric-holds.mjs": "8ecce5c18e1c7f9a26502dc77507c163e17d2cd4d661905e3c9d8f1964dbe2e8",
|
|
6975
|
+
"fabric-hub.mjs": "081d5b2fda552fe6ee737c22e1e87fa113568cb4e9d864c110a6a0aec758b22f",
|
|
6976
|
+
"fabric-board-shapes.mjs": "c1db7b7bd0d58d82bb6d8dfbc3cd1547a256a333052d367e82ff1b3edf2804d7",
|
|
6977
|
+
"fabric-board-link.mjs": "a21fcfe6f4e701b1f5142a008ceeb7eea42c251a01688f9022539235b6f80b62",
|
|
6978
|
+
"fabric-board-slots.mjs": "721c5f3ddb0bd76d6b5d9e08807e50392302e71efa4385e351d9bee2ad06c103",
|
|
6979
|
+
"fabric-board-session.mjs": "ccce0f335e85ce676edbaf15dc6c048e7fb50a9e34310724759b84cafd4139a0",
|
|
6980
|
+
"fabric-board-fixture.mjs": "83c4b7e33ee47b68385faf2569d38d5c8a0c5cb0f8656090f41e1b0eed2f436e",
|
|
6981
|
+
"fabric-board.mjs": "15fbb4441fcf7d2f285375b75de64ad6cffea129c515084c110245376b07775f",
|
|
6982
|
+
"fabric-http.mjs": "7bb5e41d2fbd3ba2717946777be7fd91e41ec4514a92aae2351ae8c4f2439476",
|
|
6983
|
+
"fabric-openrouter.mjs": "4e3e73a1b8882bdde4cbb311f6f4a5e2f048fa81fa245409a16df1e6cab03e19",
|
|
6984
|
+
"fabric-package.schema.json": "2ba799f576fad0f608029223c4ccccd122152f1c5dbfa8ce8b31cd63ac92ad44",
|
|
6985
|
+
"share-registration.schema.json": "34b3997eeaf936ebc861342a23045634a7c18c19f01d7ed4198310d81989f5b0"
|
|
6862
6986
|
}
|
|
6863
6987
|
},
|
|
6864
6988
|
"data": {
|
|
@@ -9,9 +9,9 @@ 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.
|
|
12
|
+
version: "0.81.0"
|
|
13
13
|
contract-version: "0.1.0"
|
|
14
|
-
contract-commit: "
|
|
14
|
+
contract-commit: "93e7db164c7829e2783b4b7705c4113bb5201131"
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# Creating Fabric-compatible agents
|
|
@@ -116,9 +116,12 @@ prior art of its own:
|
|
|
116
116
|
calling other agents, stops for a person, learning loops, the loop guard.
|
|
117
117
|
- [agents-that-answer-people.md](references/agents-that-answer-people.md): what an agent that
|
|
118
118
|
answers people carries from its first release, each part with the check that proves it.
|
|
119
|
-
- [communication-agent-template.md](references/communication-agent-template.md): the template
|
|
120
|
-
for an agent that talks with people on a channel (support, sales and leads, community, inbox, reviews)
|
|
121
|
-
inbound pipeline, business patterns, knowledge, the learning loop and acceptance
|
|
119
|
+
- [communication-agent-template.md](references/communication-agent-template.md): how to use the template
|
|
120
|
+
for an agent that talks with people on a channel (support, sales and leads, community, inbox, reviews); its prompt
|
|
121
|
+
(the measured inbound pipeline, business patterns, knowledge, the learning loop and acceptance) is the folder
|
|
122
|
+
`templates/communication-agent/`.
|
|
123
|
+
- [agent-templates.md](references/agent-templates.md): a template folder for a kind of agent, its schema and
|
|
124
|
+
`scripts/template_check.py`, which a template passes before it is done.
|
|
122
125
|
|
|
123
126
|
## Step 2: the project skeleton
|
|
124
127
|
|
|
@@ -159,6 +162,9 @@ run it with the owner's list of their own strings, or record that none was given
|
|
|
159
162
|
|
|
160
163
|
## Step 3: scaffold the provider bundle
|
|
161
164
|
|
|
165
|
+
For a project that does not exist yet, one command writes this step's bundle with the source manifest and the
|
|
166
|
+
placement guard: `npx @passioncode-ai/fabric-agent-adapter new <folder> --id <agent-id>` ([new-agent.md](references/new-agent.md)).
|
|
167
|
+
|
|
162
168
|
Reuse the sibling skill's scaffolder against the new skeleton with the profile chosen at
|
|
163
169
|
step 0:
|
|
164
170
|
|
|
@@ -171,10 +177,14 @@ python3 <plugin-dir>/skills/adapting-projects-to-fabric/scripts/adapt_project.py
|
|
|
171
177
|
[--idempotency required|supported|none] [--cost-preset <id> <max-usd> "<label>" ... --default-cost-preset <id>]
|
|
172
178
|
```
|
|
173
179
|
|
|
180
|
+
The source manifest comes with the bundle: `adapt_project.py source <project-root>` lays down `fabric.source.json`
|
|
181
|
+
(DEC-0149) with the kit's slots, and the source check reads the source under it ([the source and the
|
|
182
|
+
instance](references/source-and-instance.md), *The source manifest*).
|
|
183
|
+
|
|
174
184
|
The effect class is declared, never defaulted: ask the author what the agent does outside itself when the request
|
|
175
185
|
does not say. Cost presets are only for a run whose cost varies; their amounts come from the author or measured runs.
|
|
176
186
|
|
|
177
|
-
Pin exactly contract `0.1.0` at commit `
|
|
187
|
+
Pin exactly contract `0.1.0` at commit `93e7db164c7829e2783b4b7705c4113bb5201131` and
|
|
178
188
|
read the pinned guide before implementing protocol details. If this skill is installed
|
|
179
189
|
without its sibling, the scaffolder is absent: create the bundle by hand from the pinned
|
|
180
190
|
contract's `docs/guides/connecting-compatible-agents.md` and mark the structural check
|
package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/references/agent-templates.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Agent templates: the folder, its schema and its check
|
|
2
|
+
|
|
3
|
+
An organization's agents are built from **templates**: one folder per kind of agent, which a developer agent fills for
|
|
4
|
+
one organization (fabric-workspace `knowledge/system/templates.md`, decision W0-Q8; FAA-265). The adapter holds the
|
|
5
|
+
format, versioned with it: the JSON Schemas in [`schemas/template/`](../schemas/template/) and the check
|
|
6
|
+
[`scripts/template_check.py`](../scripts/template_check.py). The templates themselves live in the agents database
|
|
7
|
+
(format v2, see [agents-database.md](agents-database.md)); the adapter keeps one neutral example for its tests,
|
|
8
|
+
`test/fixtures/templates/example-agent/`, and one public template, the communication agent
|
|
9
|
+
([`templates/communication-agent/`](../templates/communication-agent/), released as one file in 0.75.0 and moved into
|
|
10
|
+
its folder by FAA-265). Whether the agents database takes that folder as its template of the kind or merges it into a
|
|
11
|
+
close one is its owner's decision, open; `test/validate.py` runs the check on every folder a skill ships.
|
|
12
|
+
|
|
13
|
+
## The folder
|
|
14
|
+
|
|
15
|
+
| Part | Holds | Checked |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `TEMPLATE.md` | a front matter block with one `template:` mapping (`id`, `name`, `version`, `family`, `checked`, `readiness`, `variants`, optional `sources`), then the prompt: role, duties, never, escalation | the header against `template-header.schema.json`; `id` equals the folder's name; the text names the operating rules A1 to A12 it inherits |
|
|
18
|
+
| `manifest.json` | `template`, `version`, `contract` (one protocol `{name, home, checked_against}` or a map of them), `placement`, `doors`, `models`, `dashboard`, `budget` | `manifest.schema.json`; `template` and `version` equal the header's; the last five sit at the top or in every entry of `variants` |
|
|
19
|
+
| `connections.json` | a list of `{source_class, connector, grant, required, direction}` with optional `when`, `scope`, `spends`, `variants`, `notes` | `connections.schema.json`; `direction` is `read`, `write`, `read-write` or `call`, the detail in `scope` |
|
|
20
|
+
| `access.json` | `levels` with `owner`, `administrator`, `project_architect` and `member`, each `{without_asking, with_approval, escalates}`, and `never` | `access.schema.json`; the owner escalates to nobody |
|
|
21
|
+
| `data-rooms.json` | a list of `{room, blocks, access}` with optional `scope`, `classes`, `level`, `required`, `variants`, `use`, `notes`; `[]` when none | `data-rooms.schema.json` |
|
|
22
|
+
| `checks/` | the acceptance tests the assembled agent passes before it serves anyone | at least one file |
|
|
23
|
+
| `assembly.md` | how a developer agent fills it for one organization | present, not empty |
|
|
24
|
+
| `CHANGELOG.md` | the template's versions | names the header's version |
|
|
25
|
+
|
|
26
|
+
Every variant a file names is one the header declares. A key a template needs beyond the schema goes in as `x-<name>`
|
|
27
|
+
in `manifest.json` or `access.json` (an entry of the manifest's `variants` may carry keys of its own); anywhere else
|
|
28
|
+
an unknown key is an error, so a typo never passes as a new field. A grant is named, never its value. Schema 1 checks
|
|
29
|
+
only the presence and type of `placement`, `doors`, `models`, `dashboard` and `budget`, not their inner shape.
|
|
30
|
+
|
|
31
|
+
## Running the check
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
python3 <skill>/scripts/template_check.py [--legacy] [--json] <template-folder> [...]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Run it from the skill's own directory, not a copy. It reads only and exits 0 when no folder has an error, 1 when one
|
|
38
|
+
has, 2 on a usage error; `--json` prints `{ok, folders: {<folder>: [{level, file, path, message}]}}`.
|
|
39
|
+
|
|
40
|
+
`--legacy` reads the older spellings the first templates used (`class` for `source_class`, `mode` or a sentence for
|
|
41
|
+
`direction`, `required` as a sentence, levels outside `levels`, `project architect` or `architect`, `withApproval`,
|
|
42
|
+
`never_*` keys, `block`, `spend`, `checkedAgainst`) and names each as a warning with its canonical form; a missing
|
|
43
|
+
`direction` or manifest `version` is a warning there and an error otherwise. Use it to migrate a folder, then fix the
|
|
44
|
+
warnings: a template is done when the check passes without it.
|