@passioncode-ai/fabric-agent-adapter 0.20.0 → 0.21.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 +65 -0
- package/README.md +3 -3
- 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 +3 -3
- package/plugins/fabric-agent-adapter/skills/adapting-projects-to-fabric/scripts/adapt_project.py +2 -2
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/SKILL.md +5 -3
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/delegation.md +14 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/estate-record.md +90 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/references/protocol.md +1 -1
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-delegation.mjs +26 -4
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-estate.mjs +443 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric-service.mjs +8 -2
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_delegation.py +32 -6
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_estate.py +826 -0
- package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_service.py +7 -1
- package/plugins/fabric-agent-adapter/skills/creating-fabric-agents/SKILL.md +3 -3
package/plugins/fabric-agent-adapter/skills/building-fabric-services/scripts/fabric_service.py
CHANGED
|
@@ -1364,7 +1364,12 @@ _MAX_ROW_VALUES = 512
|
|
|
1364
1364
|
|
|
1365
1365
|
|
|
1366
1366
|
def _canonical_check(value: Any, at: str = "") -> None:
|
|
1367
|
-
if value is None or isinstance(value,
|
|
1367
|
+
if value is None or isinstance(value, bool):
|
|
1368
|
+
return
|
|
1369
|
+
if isinstance(value, str):
|
|
1370
|
+
# CT-25 (DEC-0052): Python cannot encode a lone surrogate as UTF-8, so no two languages agree on its bytes.
|
|
1371
|
+
if _SURROGATE.search(value):
|
|
1372
|
+
raise ServiceError("%s: a lone surrogate has no canonical form" % (at or "/"))
|
|
1368
1373
|
return
|
|
1369
1374
|
if isinstance(value, int):
|
|
1370
1375
|
if abs(value) > _SAFE_INTEGER:
|
|
@@ -1380,6 +1385,7 @@ def _canonical_check(value: Any, at: str = "") -> None:
|
|
|
1380
1385
|
for key, item in value.items():
|
|
1381
1386
|
if not isinstance(key, str):
|
|
1382
1387
|
raise ServiceError("%s: object keys are strings" % (at or "/"))
|
|
1388
|
+
_canonical_check(key, "%s (a key)" % (at or "/"))
|
|
1383
1389
|
_canonical_check(item, "%s/%s" % (at, key))
|
|
1384
1390
|
return
|
|
1385
1391
|
raise ServiceError("%s: %s is not a JSON value" % (at or "/", type(value).__name__))
|
|
@@ -5,9 +5,9 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
|
|
|
5
5
|
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.
|
|
6
6
|
metadata:
|
|
7
7
|
author: PassionCode.ai
|
|
8
|
-
version: "0.
|
|
8
|
+
version: "0.21.0"
|
|
9
9
|
contract-version: "0.1.0"
|
|
10
|
-
contract-commit: "
|
|
10
|
+
contract-commit: "b291bf09e0a9f9fd3c16cf540832cd021203b7d1"
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Creating Fabric-compatible agents
|
|
@@ -123,7 +123,7 @@ python3 <plugin-dir>/skills/adapting-projects-to-fabric/scripts/adapt_project.py
|
|
|
123
123
|
The effect class is declared, never defaulted: ask the author what the agent does outside itself when the request
|
|
124
124
|
does not say. Cost presets are only for a run whose cost varies; their amounts come from the author or measured runs.
|
|
125
125
|
|
|
126
|
-
Pin exactly contract `0.1.0` at commit `
|
|
126
|
+
Pin exactly contract `0.1.0` at commit `b291bf09e0a9f9fd3c16cf540832cd021203b7d1` and
|
|
127
127
|
read the pinned guide before implementing protocol details. If this skill is installed
|
|
128
128
|
without its sibling, the scaffolder is absent: create the bundle by hand from the pinned
|
|
129
129
|
contract's `docs/guides/connecting-compatible-agents.md` and mark the structural check
|