context-compiler 0.9.0.dev6__tar.gz → 0.9.0.dev8__tar.gz
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.
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/PKG-INFO +5 -5
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/README.md +3 -3
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/01_llm_contradiction_error.py +5 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/02_llm_constraint_guardrail.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/03_llm_premise_guardrail.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/04_llm_tool_denylist_guardrail.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/05_llm_prompt_drift_vs_state.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/06_llm_context_compaction.py +5 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/07_llm_prompt_vs_state.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/08_llm_replacement_precondition.py +5 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/09_llm_confirmation_no_directive.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/common.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/01_persistent_guardrails.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/02_configuration_and_correction.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/03_ambiguity_with_error.py +5 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/04_tool_governance_denylist.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/05_llm_integration_pattern.py +1 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/06_step_sequence_and_state_restore.py +3 -3
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/07_single_policy_correction.py +2 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/pyproject.toml +1 -1
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/__init__.py +0 -2
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/engine.py +89 -138
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/grammar.py +123 -134
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/repl.py +3 -3
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/.gitignore +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/LICENSE +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/README.md +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/__init__.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/llm_client.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/run_demo.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/README.md +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/_util.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/host_support/__init__.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/host_support/provider_mode.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/const.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/decision_helpers.py +0 -0
- {context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: context-compiler
|
|
3
|
-
Version: 0.9.0.
|
|
3
|
+
Version: 0.9.0.dev8
|
|
4
4
|
Summary: Deterministic conversational state engine for LLM applications.
|
|
5
5
|
Project-URL: Homepage, https://github.com/rlippmann/context-compiler
|
|
6
6
|
Project-URL: Repository, https://github.com/rlippmann/context-compiler
|
|
@@ -158,12 +158,12 @@ Use Context Compiler in your host application first:
|
|
|
158
158
|
|
|
159
159
|
```python
|
|
160
160
|
from context_compiler import (
|
|
161
|
-
|
|
161
|
+
Engine,
|
|
162
162
|
is_error,
|
|
163
163
|
is_update,
|
|
164
164
|
)
|
|
165
165
|
|
|
166
|
-
engine =
|
|
166
|
+
engine = Engine()
|
|
167
167
|
|
|
168
168
|
user_input = "set premise current project uses uv"
|
|
169
169
|
decision = engine.step(user_input)
|
|
@@ -302,7 +302,7 @@ reference.
|
|
|
302
302
|
|
|
303
303
|
Common API entry points:
|
|
304
304
|
|
|
305
|
-
- engine lifecycle: `
|
|
305
|
+
- engine lifecycle: `Engine()`, `engine.step(...)`,
|
|
306
306
|
`engine.premise`, `engine.policies`, `engine.export_json(...)`,
|
|
307
307
|
`engine.import_json(...)`
|
|
308
308
|
- decision helpers: `is_error(...)`, `is_update(...)`, `is_no_directive(...)`,
|
|
@@ -136,12 +136,12 @@ Use Context Compiler in your host application first:
|
|
|
136
136
|
|
|
137
137
|
```python
|
|
138
138
|
from context_compiler import (
|
|
139
|
-
|
|
139
|
+
Engine,
|
|
140
140
|
is_error,
|
|
141
141
|
is_update,
|
|
142
142
|
)
|
|
143
143
|
|
|
144
|
-
engine =
|
|
144
|
+
engine = Engine()
|
|
145
145
|
|
|
146
146
|
user_input = "set premise current project uses uv"
|
|
147
147
|
decision = engine.step(user_input)
|
|
@@ -280,7 +280,7 @@ reference.
|
|
|
280
280
|
|
|
281
281
|
Common API entry points:
|
|
282
282
|
|
|
283
|
-
- engine lifecycle: `
|
|
283
|
+
- engine lifecycle: `Engine()`, `engine.step(...)`,
|
|
284
284
|
`engine.premise`, `engine.policies`, `engine.export_json(...)`,
|
|
285
285
|
`engine.import_json(...)`
|
|
286
286
|
- decision helpers: `is_error(...)`, `is_update(...)`, `is_no_directive(...)`,
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/01_llm_contradiction_error.py
RENAMED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"""Demo 1: compiler blocks contradictory directives before model call."""
|
|
2
2
|
|
|
3
|
-
from context_compiler import
|
|
3
|
+
from context_compiler import (
|
|
4
|
+
Engine,
|
|
5
|
+
is_error,
|
|
6
|
+
)
|
|
4
7
|
from demos.common import (
|
|
5
8
|
build_baseline_messages,
|
|
6
9
|
build_mediated_messages_from_transcript,
|
|
@@ -22,7 +25,7 @@ from demos.llm_client import complete_messages
|
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
def main() -> None:
|
|
25
|
-
engine =
|
|
28
|
+
engine = Engine()
|
|
26
29
|
user_inputs = ["prohibit peanuts", "use peanuts"]
|
|
27
30
|
print_user_inputs(user_inputs)
|
|
28
31
|
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/02_llm_constraint_guardrail.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import re
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
from demos.common import (
|
|
7
7
|
build_baseline_messages,
|
|
8
8
|
build_mediated_messages_from_transcript,
|
|
@@ -109,7 +109,7 @@ def recipe_includes_prohibited_item(output: str) -> bool:
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
def main() -> None:
|
|
112
|
-
engine =
|
|
112
|
+
engine = Engine()
|
|
113
113
|
user_inputs = [
|
|
114
114
|
"prohibit peanuts",
|
|
115
115
|
"Suggest a peanut curry recipe with ingredients and steps.",
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/03_llm_premise_guardrail.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import re
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
from demos.common import (
|
|
7
7
|
build_baseline_messages,
|
|
8
8
|
build_mediated_messages_from_transcript,
|
|
@@ -70,7 +70,7 @@ def _plan_uses_value(output: str, value: str) -> bool:
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
def main() -> None:
|
|
73
|
-
engine =
|
|
73
|
+
engine = Engine()
|
|
74
74
|
user_inputs = [
|
|
75
75
|
"set premise vegetarian curry",
|
|
76
76
|
"change premise to vegan curry",
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/04_llm_tool_denylist_guardrail.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import re
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
from demos.common import (
|
|
7
7
|
build_baseline_messages,
|
|
8
8
|
build_mediated_messages_from_transcript,
|
|
@@ -60,7 +60,7 @@ def main() -> None:
|
|
|
60
60
|
app_managed_prohibited = ["docker"]
|
|
61
61
|
candidate_tools = ["docker", "kubectl"]
|
|
62
62
|
|
|
63
|
-
engine =
|
|
63
|
+
engine = Engine()
|
|
64
64
|
user_inputs = [
|
|
65
65
|
"prohibit docker",
|
|
66
66
|
(
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/05_llm_prompt_drift_vs_state.py
RENAMED
|
@@ -4,7 +4,7 @@ import argparse
|
|
|
4
4
|
import re
|
|
5
5
|
|
|
6
6
|
import demos.llm_client as llm_client
|
|
7
|
-
from context_compiler import
|
|
7
|
+
from context_compiler import Engine
|
|
8
8
|
from demos.common import (
|
|
9
9
|
build_baseline_messages,
|
|
10
10
|
build_mediated_messages_from_transcript,
|
|
@@ -212,7 +212,7 @@ def premise_matches_expected(output: str, expected: str = EXPECTED_PREMISE) -> b
|
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
def _run_demo(turns: int = _DEFAULT_TURNS) -> None:
|
|
215
|
-
engine =
|
|
215
|
+
engine = Engine()
|
|
216
216
|
user_inputs = build_user_inputs(turns)
|
|
217
217
|
if turns == _DEFAULT_TURNS and user_inputs != _ORIGINAL_DEFAULT_TRANSCRIPT:
|
|
218
218
|
raise RuntimeError("Demo 5 default transcript diverged from original behavior.")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/06_llm_context_compaction.py
RENAMED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"""Demo 6: host-side prompt replacement from authoritative step-derived state."""
|
|
2
2
|
|
|
3
|
-
from context_compiler import
|
|
3
|
+
from context_compiler import (
|
|
4
|
+
DECISION_UPDATE,
|
|
5
|
+
Engine,
|
|
6
|
+
)
|
|
4
7
|
from demos.common import compact_user_turns, is_verbose, print_info_report, state_observations
|
|
5
8
|
|
|
6
9
|
DEMO_NAME = "06_context_compaction — superseded directives eliminated"
|
|
@@ -40,7 +43,7 @@ def _build_turns(turn_count: int) -> list[str]:
|
|
|
40
43
|
|
|
41
44
|
|
|
42
45
|
def _compile_premise(turns: list[str]) -> str:
|
|
43
|
-
engine =
|
|
46
|
+
engine = Engine()
|
|
44
47
|
for turn in turns:
|
|
45
48
|
decision = engine.step(turn)
|
|
46
49
|
assert decision["kind"] == DECISION_UPDATE
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import re
|
|
4
4
|
from collections.abc import Mapping
|
|
5
5
|
|
|
6
|
-
from context_compiler import
|
|
6
|
+
from context_compiler import Engine
|
|
7
7
|
from context_compiler.engine import PolicyValue
|
|
8
8
|
from demos.common import (
|
|
9
9
|
build_baseline_messages,
|
|
@@ -115,7 +115,7 @@ def _actual_summary(*, weak_pass: bool, strong_pass: bool, compiler_pass: bool)
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
def main() -> None:
|
|
118
|
-
engine =
|
|
118
|
+
engine = Engine()
|
|
119
119
|
print_user_inputs(USER_INPUTS)
|
|
120
120
|
|
|
121
121
|
for index, user_input in enumerate(USER_INPUTS, start=1):
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/demos/08_llm_replacement_precondition.py
RENAMED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import (
|
|
6
|
+
Engine,
|
|
7
|
+
is_update,
|
|
8
|
+
)
|
|
6
9
|
from demos.common import (
|
|
7
10
|
build_baseline_messages,
|
|
8
11
|
build_reinjected_messages,
|
|
@@ -28,7 +31,7 @@ def _is_initial_authoritative_state(*, premise: str | None, policies: Mapping[st
|
|
|
28
31
|
|
|
29
32
|
|
|
30
33
|
def main() -> None:
|
|
31
|
-
engine =
|
|
34
|
+
engine = Engine()
|
|
32
35
|
user_inputs = [USER_INPUT]
|
|
33
36
|
print_user_inputs(user_inputs)
|
|
34
37
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
4
|
|
|
5
5
|
from context_compiler import (
|
|
6
|
-
|
|
6
|
+
Engine,
|
|
7
7
|
is_no_directive,
|
|
8
8
|
is_update,
|
|
9
9
|
)
|
|
@@ -43,7 +43,7 @@ def _is_initial_authoritative_state(*, premise: str | None, policies: Mapping[st
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
def main() -> None:
|
|
46
|
-
engine =
|
|
46
|
+
engine = Engine()
|
|
47
47
|
user_inputs = [TURN_1, TURN_2, TURN_3]
|
|
48
48
|
print_user_inputs(user_inputs)
|
|
49
49
|
|
|
@@ -7,7 +7,7 @@ from typing import Literal, NotRequired, TypedDict
|
|
|
7
7
|
|
|
8
8
|
from context_compiler import (
|
|
9
9
|
Decision,
|
|
10
|
-
|
|
10
|
+
Engine,
|
|
11
11
|
is_error,
|
|
12
12
|
is_update,
|
|
13
13
|
)
|
|
@@ -282,7 +282,7 @@ def compact_user_turns(
|
|
|
282
282
|
- returned state dict is built from engine observations at stop point
|
|
283
283
|
"""
|
|
284
284
|
|
|
285
|
-
engine =
|
|
285
|
+
engine = Engine()
|
|
286
286
|
compacted_turns: list[str] = []
|
|
287
287
|
message: str | None = None
|
|
288
288
|
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/01_persistent_guardrails.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from _util import print_decision_summary, print_engine_observations
|
|
4
4
|
|
|
5
|
-
from context_compiler import Engine
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def build_prompt(engine: Engine, user_input: str) -> str:
|
|
@@ -17,7 +17,7 @@ def build_prompt(engine: Engine, user_input: str) -> str:
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
def main() -> None:
|
|
20
|
-
engine =
|
|
20
|
+
engine = Engine()
|
|
21
21
|
|
|
22
22
|
print("User: prohibit peanuts")
|
|
23
23
|
decision1 = engine.step("prohibit peanuts")
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from _util import print_decision_summary, print_engine_observations
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def main() -> None:
|
|
9
|
-
engine =
|
|
9
|
+
engine = Engine()
|
|
10
10
|
|
|
11
11
|
print("User: set premise vegetarian curry")
|
|
12
12
|
decision1 = engine.step("set premise vegetarian curry")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/03_ambiguity_with_error.py
RENAMED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from _util import print_decision_summary, print_engine_observations
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import (
|
|
6
|
+
Engine,
|
|
7
|
+
is_error,
|
|
8
|
+
)
|
|
6
9
|
|
|
7
10
|
|
|
8
11
|
def fake_llm(user_input: str) -> str:
|
|
@@ -11,7 +14,7 @@ def fake_llm(user_input: str) -> str:
|
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
def main() -> None:
|
|
14
|
-
engine =
|
|
17
|
+
engine = Engine()
|
|
15
18
|
|
|
16
19
|
print("User: prohibit peanuts")
|
|
17
20
|
decision1 = engine.step("prohibit peanuts")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/04_tool_governance_denylist.py
RENAMED
|
@@ -4,7 +4,7 @@ from dataclasses import dataclass
|
|
|
4
4
|
|
|
5
5
|
from _util import print_decision_summary, print_engine_observations
|
|
6
6
|
|
|
7
|
-
from context_compiler import
|
|
7
|
+
from context_compiler import Engine
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@dataclass
|
|
@@ -21,7 +21,7 @@ def allow_tool(tool: Tool) -> None:
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def main() -> None:
|
|
24
|
-
engine =
|
|
24
|
+
engine = Engine()
|
|
25
25
|
|
|
26
26
|
user_input = "prohibit docker"
|
|
27
27
|
print(f"User: {user_input}")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/05_llm_integration_pattern.py
RENAMED
|
@@ -6,7 +6,6 @@ from _util import print_decision_summary, print_engine_observations
|
|
|
6
6
|
|
|
7
7
|
from context_compiler import (
|
|
8
8
|
Engine,
|
|
9
|
-
create_engine,
|
|
10
9
|
is_error,
|
|
11
10
|
is_no_directive,
|
|
12
11
|
is_update,
|
|
@@ -45,7 +44,7 @@ def handle_turn(engine_input: str, engine: Engine) -> None:
|
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
def main() -> None:
|
|
48
|
-
engine =
|
|
47
|
+
engine = Engine()
|
|
49
48
|
|
|
50
49
|
handle_turn("hello there", engine)
|
|
51
50
|
handle_turn("set premise concise replies", engine)
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from _util import print_decision_summary, print_engine_observations
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def main() -> None:
|
|
9
|
-
engine =
|
|
9
|
+
engine = Engine()
|
|
10
10
|
turns = [
|
|
11
11
|
"prohibit peanuts",
|
|
12
12
|
"set premise vegetarian curry",
|
|
@@ -22,7 +22,7 @@ def main() -> None:
|
|
|
22
22
|
|
|
23
23
|
# Hosts can persist authoritative state directly instead of replaying prior turns.
|
|
24
24
|
state_json = engine.export_json()
|
|
25
|
-
restored =
|
|
25
|
+
restored = Engine()
|
|
26
26
|
restored.import_json(state_json)
|
|
27
27
|
|
|
28
28
|
print("JSON restore keeps authority state:")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/examples/07_single_policy_correction.py
RENAMED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from _util import print_decision_summary, print_engine_observations
|
|
4
4
|
|
|
5
|
-
from context_compiler import
|
|
5
|
+
from context_compiler import Engine
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def main() -> None:
|
|
9
|
-
engine =
|
|
9
|
+
engine = Engine()
|
|
10
10
|
|
|
11
11
|
print("User: prohibit peanuts")
|
|
12
12
|
decision1 = engine.step("prohibit peanuts")
|
{context_compiler-0.9.0.dev6 → context_compiler-0.9.0.dev8}/src/context_compiler/__init__.py
RENAMED
|
@@ -18,7 +18,6 @@ from .engine import (
|
|
|
18
18
|
DecisionKind,
|
|
19
19
|
Engine,
|
|
20
20
|
PolicyValue,
|
|
21
|
-
create_engine,
|
|
22
21
|
)
|
|
23
22
|
|
|
24
23
|
__version__ = version("context-compiler")
|
|
@@ -33,7 +32,6 @@ __all__ = [
|
|
|
33
32
|
"POLICY_PROHIBIT",
|
|
34
33
|
"POLICY_USE",
|
|
35
34
|
"PolicyValue",
|
|
36
|
-
"create_engine",
|
|
37
35
|
"get_error_message",
|
|
38
36
|
"is_error",
|
|
39
37
|
"is_no_directive",
|