@intentius/chant-lexicon-fountain 0.41.20 → 0.44.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/dist/integrity.json +2 -2
- package/dist/manifest.json +1 -1
- package/dist/okf/index.md +21 -0
- package/dist/okf/rules/FTN001.md +17 -0
- package/dist/okf/rules/FTN010.md +15 -0
- package/dist/okf/rules/FTN011.md +15 -0
- package/dist/okf/rules/FTN012.md +15 -0
- package/dist/okf/rules/FTN013.md +16 -0
- package/dist/okf/rules/FTN014.md +16 -0
- package/dist/okf/rules/FTN015.md +15 -0
- package/dist/okf/rules/FTN016.md +15 -0
- package/dist/okf/rules/FTN017.md +11 -0
- package/dist/okf/types/Agent.md +29 -0
- package/dist/okf/types/Environment.md +29 -0
- package/dist/okf/types/Vault.md +20 -0
- package/package.json +2 -2
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "d47b790a6829dca35c22e73b2fed7affbb8e9cb663d6ebbc334fd6bd348abea9",
|
|
5
5
|
"meta.json": "6666b7a77db9210a329219c6a5e107e5ae8794a34542f7310ce16d9bf95c64f5",
|
|
6
6
|
"types/index.d.ts": "1dfdcba184fffcf464dac7d1d71ef7abed2ae02a8d638c0de50e0b0317b7eb01",
|
|
7
7
|
"rules/ftn001-no-secret-literals.ts": "897a4ce1ec790b3c1540d32892603bd33ff4bf30eb6ba4cd2565dee356d4962e",
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
"skills/chant-fountain-secrets.md": "27e349a91589510a92e518c7d7824a4a322cab5ef242cf5799373a55cbfcd1cd",
|
|
18
18
|
"skills/chant-fountain-locked-sandboxes.md": "de82f06cb3a08ba6bf3ae45fb9869e21d6da18b9ebe0fc769da8aebaceea7dd1"
|
|
19
19
|
},
|
|
20
|
-
"composite": "
|
|
20
|
+
"composite": "52b9894de070c187c5671d8272cac1d9a2708d69689091bd9e4d33d3dc3e95c5"
|
|
21
21
|
}
|
package/dist/manifest.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
okf_version: '0.2'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Resource types
|
|
6
|
+
|
|
7
|
+
* [Agent](/types/Agent.md) - Fountain::V1::Agent
|
|
8
|
+
* [Environment](/types/Environment.md) - Fountain::V1::Environment
|
|
9
|
+
* [Vault](/types/Vault.md) - Fountain::V1::Vault
|
|
10
|
+
|
|
11
|
+
# Rules
|
|
12
|
+
|
|
13
|
+
* [FTN001](/rules/FTN001.md) - no secret literals in fountain resource declarations.
|
|
14
|
+
* [FTN010](/rules/FTN010.md) - Environment declarations must set networking_type explicitly
|
|
15
|
+
* [FTN011](/rules/FTN011.md) - Environments should prefer networking_type: limited over unrestricted
|
|
16
|
+
* [FTN012](/rules/FTN012.md) - Environment env_vars must not carry cloud-credential-shaped keys or values
|
|
17
|
+
* [FTN013](/rules/FTN013.md) - Agent ${VAR} references should resolve against the environment's declared keys
|
|
18
|
+
* [FTN014](/rules/FTN014.md) - Vault keys shadowing a declared Environment key should be visible in review
|
|
19
|
+
* [FTN015](/rules/FTN015.md) - Secret-shaped MCP env keys must be ${VAR} references, not literals
|
|
20
|
+
* [FTN016](/rules/FTN016.md) - Agent runtime must be a known runtime and model canonical provider/model_id
|
|
21
|
+
* [FTN017](/rules/FTN017.md) - Two declarations of the same kind must not resolve to the same fountain name
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: lint-rule
|
|
3
|
+
title: FTN001
|
|
4
|
+
description: no secret literals in fountain resource declarations.
|
|
5
|
+
id: FTN001
|
|
6
|
+
severity: error
|
|
7
|
+
category: security
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
no secret literals in fountain resource declarations.
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Agent](/types/Agent.md)
|
|
16
|
+
- [Environment](/types/Environment.md)
|
|
17
|
+
- [Vault](/types/Vault.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN010
|
|
4
|
+
description: Environment declarations must set networking_type explicitly
|
|
5
|
+
id: FTN010
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Environment declarations must set networking_type explicitly
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Environment](/types/Environment.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN011
|
|
4
|
+
description: 'Environments should prefer networking_type: limited over unrestricted'
|
|
5
|
+
id: FTN011
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Environments should prefer networking_type: limited over unrestricted
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Environment](/types/Environment.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN012
|
|
4
|
+
description: Environment env_vars must not carry cloud-credential-shaped keys or values
|
|
5
|
+
id: FTN012
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Environment env_vars must not carry cloud-credential-shaped keys or values
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Environment](/types/Environment.md)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN013
|
|
4
|
+
description: Agent ${VAR} references should resolve against the environment's declared keys
|
|
5
|
+
id: FTN013
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Agent ${VAR} references should resolve against the environment's declared keys
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Agent](/types/Agent.md)
|
|
16
|
+
- [Environment](/types/Environment.md)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN014
|
|
4
|
+
description: Vault keys shadowing a declared Environment key should be visible in review
|
|
5
|
+
id: FTN014
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Vault keys shadowing a declared Environment key should be visible in review
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Environment](/types/Environment.md)
|
|
16
|
+
- [Vault](/types/Vault.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN015
|
|
4
|
+
description: Secret-shaped MCP env keys must be ${VAR} references, not literals
|
|
5
|
+
id: FTN015
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Secret-shaped MCP env keys must be ${VAR} references, not literals
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Agent](/types/Agent.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN016
|
|
4
|
+
description: Agent runtime must be a known runtime and model canonical provider/model_id
|
|
5
|
+
id: FTN016
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Agent runtime must be a known runtime and model canonical provider/model_id
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Agent](/types/Agent.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: FTN017
|
|
4
|
+
description: Two declarations of the same kind must not resolve to the same fountain name
|
|
5
|
+
id: FTN017
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: fountain
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/fountain/rules/
|
|
10
|
+
---
|
|
11
|
+
Two declarations of the same kind must not resolve to the same fountain name
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Agent
|
|
4
|
+
description: fountain resource type Fountain::V1::Agent
|
|
5
|
+
name: Agent
|
|
6
|
+
lexicon: fountain
|
|
7
|
+
resource_type: Fountain::V1::Agent
|
|
8
|
+
---
|
|
9
|
+
`Fountain::V1::Agent`, a resource type of the fountain lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `model` (`string`, required)
|
|
14
|
+
- `name` (`string`, required)
|
|
15
|
+
- `runtime` (`"claude" | "codex" | "gemini" | "opencode"`, required)
|
|
16
|
+
- `allowed_vault_ids` (`string[]`, optional): Vaults a conversation may attach to this agent. null (default) allows any vault the tenant owns; an empty list forbids attaching any vault; a non-empty list is an allowlist.
|
|
17
|
+
- `description` (`string`, optional)
|
|
18
|
+
- `environment_id` (`string`, optional)
|
|
19
|
+
- `mcp_servers` (`Record<string, unknown>`, optional)
|
|
20
|
+
- `metadata` (`Record<string, unknown>`, optional)
|
|
21
|
+
- `skills` (`Record<string, unknown>[]`, optional): Each entry is either inline (`{name, content}` — full SKILL.md text written to the sprite) or github (`{source, ref?, name?}` — installed on the sprite via the skills.sh CLI, optionally pinned to a tag/branch/sha via `ref`). Exactly one of `content` or `source` must be set on each entry.
|
|
22
|
+
- `system` (`string`, optional)
|
|
23
|
+
|
|
24
|
+
## Governed by
|
|
25
|
+
|
|
26
|
+
- [FTN001](/rules/FTN001.md): no secret literals in fountain resource declarations.
|
|
27
|
+
- [FTN013](/rules/FTN013.md): Agent ${VAR} references should resolve against the environment's declared keys
|
|
28
|
+
- [FTN015](/rules/FTN015.md): Secret-shaped MCP env keys must be ${VAR} references, not literals
|
|
29
|
+
- [FTN016](/rules/FTN016.md): Agent runtime must be a known runtime and model canonical provider/model_id
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Environment
|
|
4
|
+
description: fountain resource type Fountain::V1::Environment
|
|
5
|
+
name: Environment
|
|
6
|
+
lexicon: fountain
|
|
7
|
+
resource_type: Fountain::V1::Environment
|
|
8
|
+
---
|
|
9
|
+
`Fountain::V1::Environment`, a resource type of the fountain lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `name` (`string`, required)
|
|
14
|
+
- `env_vars` (`Record<string, string>`, optional)
|
|
15
|
+
- `metadata` (`Record<string, unknown>`, optional)
|
|
16
|
+
- `networking_config` (`Record<string, unknown>`, optional): Refines networking_type: limited. allowed_hosts is the only key honored today; unknown keys are ignored. Under limited, egress is restricted to the allowlisted domains. With no allowed_hosts (or an empty list), the sandbox denies all egress by default — this is a deny-all, not an allow-all.
|
|
17
|
+
- `networking_type` (`"limited" | "unrestricted"`, optional)
|
|
18
|
+
- `packages` (`Record<string, unknown>`, optional)
|
|
19
|
+
- `repositories` (`Repository[]`, optional)
|
|
20
|
+
- `setup_script` (`string`, optional)
|
|
21
|
+
|
|
22
|
+
## Governed by
|
|
23
|
+
|
|
24
|
+
- [FTN001](/rules/FTN001.md): no secret literals in fountain resource declarations.
|
|
25
|
+
- [FTN010](/rules/FTN010.md): Environment declarations must set networking_type explicitly
|
|
26
|
+
- [FTN011](/rules/FTN011.md): Environments should prefer networking_type: limited over unrestricted
|
|
27
|
+
- [FTN012](/rules/FTN012.md): Environment env_vars must not carry cloud-credential-shaped keys or values
|
|
28
|
+
- [FTN013](/rules/FTN013.md): Agent ${VAR} references should resolve against the environment's declared keys
|
|
29
|
+
- [FTN014](/rules/FTN014.md): Vault keys shadowing a declared Environment key should be visible in review
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Vault
|
|
4
|
+
description: fountain resource type Fountain::V1::Vault
|
|
5
|
+
name: Vault
|
|
6
|
+
lexicon: fountain
|
|
7
|
+
resource_type: Fountain::V1::Vault
|
|
8
|
+
---
|
|
9
|
+
`Fountain::V1::Vault`, a resource type of the fountain lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `name` (`string`, required)
|
|
14
|
+
- `description` (`string`, optional)
|
|
15
|
+
- `metadata` (`Record<string, unknown>`, optional)
|
|
16
|
+
|
|
17
|
+
## Governed by
|
|
18
|
+
|
|
19
|
+
- [FTN001](/rules/FTN001.md): no secret literals in fountain resource declarations.
|
|
20
|
+
- [FTN014](/rules/FTN014.md): Vault keys shadowing a declared Environment key should be visible in review
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-fountain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Fountain lexicon for chant — sandboxed agent environments, vaults, and agents as typed estate",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"bundle": "tsx src/package-cli.ts"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@intentius/chant": "^0.
|
|
53
|
+
"@intentius/chant": "^0.44.1",
|
|
54
54
|
"typescript": "^5.9.3"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|