@plurnk/plurnk-service 0.40.0 → 0.42.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/.env.example +164 -0
- package/README.md +1 -1
- package/SPEC.md +9 -8
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +13 -6
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/fork.d.ts +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +3 -2
- package/dist/core/fork.js.map +1 -1
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +6 -1
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/methods/run_fork.d.ts.map +1 -1
- package/dist/server/methods/run_fork.js +16 -2
- package/dist/server/methods/run_fork.js.map +1 -1
- package/migrations/0000-00-00.01_schema.sql +8 -7
- package/package.json +5 -4
- package/requirements.md +1 -1
package/.env.example
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# plurnk-service environment cascade.
|
|
2
|
+
#
|
|
3
|
+
# Override order: `.env.example` < `.env` < `.env.<profile>` < shell < params.
|
|
4
|
+
# Feature-flag bools use `=== "1"` exactly. Never `=== "true"`.
|
|
5
|
+
|
|
6
|
+
# --- Storage ---
|
|
7
|
+
PLURNK_DB_PATH=./plurnk.db
|
|
8
|
+
|
|
9
|
+
# --- Daemon transport ---
|
|
10
|
+
PLURNK_HOST=127.0.0.1
|
|
11
|
+
PLURNK_PORT=3044
|
|
12
|
+
|
|
13
|
+
# --- Model aliases ---
|
|
14
|
+
# PLURNK_MODEL is the active provider for every loop (a client may override per
|
|
15
|
+
# loop via loop.run({alias})). Out of the box it is `plurnk` — the zero-friction
|
|
16
|
+
# default: Plurnk, Inc.'s hosted, grammar-tuned model at model.plurnk.ai, served
|
|
17
|
+
# anonymously with no account on a throttled free tier. Change this one line to
|
|
18
|
+
# use another model; set it empty for no default provider. Prompts on the default
|
|
19
|
+
# route to model.plurnk.ai — see "Plurnk account" below for (optional) creds.
|
|
20
|
+
PLURNK_MODEL=plurnk
|
|
21
|
+
|
|
22
|
+
PLURNK_MODEL_plurnk="plurnk/plurnk"
|
|
23
|
+
|
|
24
|
+
# --- Plurnk account (OPTIONAL) ---
|
|
25
|
+
# Plurnk Service is vendor-agnostic, and connects to (almost) any LLM.
|
|
26
|
+
# Plurnk Service is MIT Licensed and owned by Plurnk Foundation, not Plurnk, Inc.
|
|
27
|
+
# Plurnk, Inc.'s grammar-tuned plurnk.ai model is offered as an optional convenience.
|
|
28
|
+
# You may (OPTIONALLY) obtain free PLURNK_ACCOUNT and PLURNK_KEY variables at https://plurnk.ai.
|
|
29
|
+
|
|
30
|
+
# PLURNK_ACCOUNT="..."
|
|
31
|
+
# PLURNK_KEY="..."
|
|
32
|
+
# The hosted endpoint defaults to https://model.plurnk.ai/v1; override it to self-
|
|
33
|
+
# host the model or point at a mirror — it speaks the llama-server API (same grammar
|
|
34
|
+
# transport) like the local model.
|
|
35
|
+
# PLURNK_BASE_URL="https://model.plurnk.ai/v1"
|
|
36
|
+
|
|
37
|
+
# --- Loop control ---
|
|
38
|
+
# Operator turn ceiling. -1 (default) = no cap (loops end via SEND, budget,
|
|
39
|
+
# strikes, or cycle detection). A positive value is an inviolable hard cap a
|
|
40
|
+
# per-call loop.run({maxTurns}) cannot exceed (min wins).
|
|
41
|
+
PLURNK_MAX_TURNS=-1
|
|
42
|
+
# Per-emission op cap (runaway-loop guard). A client may tighten it per session via
|
|
43
|
+
# session.create settings.maxCommands (min wins); never raise it past this (#232).
|
|
44
|
+
PLURNK_MAX_COMMANDS=99
|
|
45
|
+
PLURNK_RPC_TIMEOUT=30000
|
|
46
|
+
# Post-EXEC breath: after a turn fires a non-inline EXEC whose spawn is still in
|
|
47
|
+
# flight at the turn boundary, wait this many ms before assembling the next packet
|
|
48
|
+
# so a fast exec's output can land in it instead of a turn later. A fixed grace
|
|
49
|
+
# beat, NOT a wait-for-completion (slow execs proceed + surface via the wake path).
|
|
50
|
+
# 0 = off (the model sees fast-exec output a turn late, as today).
|
|
51
|
+
PLURNK_EXEC_WAIT_MS=0
|
|
52
|
+
PLURNK_LOOP_TIMEOUT=86400000
|
|
53
|
+
|
|
54
|
+
# --- Engine rails ---
|
|
55
|
+
PLURNK_MAX_STRIKES=3
|
|
56
|
+
PLURNK_MIN_CYCLES=3
|
|
57
|
+
PLURNK_MAX_CYCLE_PERIOD=4
|
|
58
|
+
|
|
59
|
+
# --- Schemes ---
|
|
60
|
+
# (Workspace root for file ops is per-session — supplied by the client
|
|
61
|
+
# via session.create({projectRoot}) or session.set_root({projectRoot});
|
|
62
|
+
# stored on sessions.project_root. No env-level default.)
|
|
63
|
+
|
|
64
|
+
# --- Git integration ---
|
|
65
|
+
# PLURNK_GIT_ALLOWED — hard ceiling for git membership + integration (repo telemetry,
|
|
66
|
+
# EXEC[git]). =1 permits it (then declared repos + per-session config decide; a client
|
|
67
|
+
# may deny its own session via session.create settings.git:false, #232); =0 flatly
|
|
68
|
+
# denies it service-wide, un-re-enableable (the sandbox/benchmark lockout).
|
|
69
|
+
PLURNK_GIT_ALLOWED=1
|
|
70
|
+
# PLURNK_GIT_AUTO — default repo declaration. =1 auto-declares an implicit `repo` at
|
|
71
|
+
# project_root (no-op when it isn't a git tree); =0 declares nothing — clients add
|
|
72
|
+
# repos explicitly via the `repo` overlay. SPEC §membership forest.
|
|
73
|
+
PLURNK_GIT_AUTO=1
|
|
74
|
+
|
|
75
|
+
# --- Reference docs (auto-READ at turn 0) ---
|
|
76
|
+
# PLURNK_MD_<ALIAS>=<path> materializes <path>'s markdown as a plurnk://<ALIAS>.md
|
|
77
|
+
# entry the model READs at turn 0 — an idiomatic way to inject standing context
|
|
78
|
+
# (an ordinary entry + READ op, not a bespoke packet section). ~ expands to home;
|
|
79
|
+
# relative paths resolve against the package root. A client may add its own docs
|
|
80
|
+
# per session via session.create settings.mdDocs (content, not a path); those UNION
|
|
81
|
+
# with these env docs, keyed by alias — the client wins a collision (#231).
|
|
82
|
+
# Commented out = no docs by default.
|
|
83
|
+
# PLURNK_MD_POLICY=~/.plurnk/AGENTS.md
|
|
84
|
+
|
|
85
|
+
# Turn-0 manifest preview: foist a READ of plurnk://manifest.json into the model's
|
|
86
|
+
# first turn so a run opens with the session catalog, not blank. -1 = the full
|
|
87
|
+
# manifest; N = the first N items (jsonpath slice); 0 = off. The service sets this
|
|
88
|
+
# servicewide default; a client may override it per session via
|
|
89
|
+
# session.create settings.manifestItems, which replaces this value (#231).
|
|
90
|
+
PLURNK_MANIFEST_ITEMS=-1
|
|
91
|
+
|
|
92
|
+
# Session-tier ceiling on CONCURRENT active runs (a run with a non-terminal loop)
|
|
93
|
+
# — the fork-bomb / destabilization brake. -1 = no cap (default); only concurrency
|
|
94
|
+
# is bounded, never lifetime, since sessions persist for months. A spawn/fork past
|
|
95
|
+
# the ceiling fails hard (508 — no queue, no retry); the acting run counts itself.
|
|
96
|
+
PLURNK_SESSION_RUNS_MAX_ACTIVE=-1
|
|
97
|
+
|
|
98
|
+
# --- Providers (universal knobs) ---
|
|
99
|
+
# Reasoning budget (providers 0.2.5+): the single provider reasoning gate. REQUIRED,
|
|
100
|
+
# fail-hard if unset — 0 = native reasoning off (in-DSL PLAN does the reasoning), -1 =
|
|
101
|
+
# adaptive / no cap, N = capped at N tokens. Provider modules translate it per model
|
|
102
|
+
# family (reasoning_effort tiers, budget_tokens). Floor (gemma): 0.
|
|
103
|
+
PLURNK_PROVIDERS_REASONING_BUDGET=0
|
|
104
|
+
#
|
|
105
|
+
# Planning: enable the grammar's <<PLAN:...:PLAN op so the model reasons in-band before
|
|
106
|
+
# acting. A shared universal knob (like PLURNK_FETCH_TIMEOUT below): the service advertises
|
|
107
|
+
# the op in # Plurnk System Tools; the provider reads it too. =1 on, =0 off.
|
|
108
|
+
PLURNK_PLAN=1
|
|
109
|
+
# Service-wide fetch timeout in ms — the universal upper bound on any
|
|
110
|
+
# single outbound request (provider calls, future http:// scheme reads,
|
|
111
|
+
# anything that does network IO). Streamed completions can run long;
|
|
112
|
+
# default 600000 (10 minutes). Provider/scheme modules MAY have their
|
|
113
|
+
# own vendor-specific overrides for narrower defaults, but they honor
|
|
114
|
+
# this as the operator's universal ceiling.
|
|
115
|
+
PLURNK_FETCH_TIMEOUT=600000
|
|
116
|
+
# PLURNK_VERSION_POLL_TTL — how long (ms) discover caches its npm-registry version poll
|
|
117
|
+
# (service + client `latest`) before a background refresh. Best-effort; the poll never
|
|
118
|
+
# blocks discover, and offline/registry-down omits `latest`. ~hourly is plenty. #235
|
|
119
|
+
PLURNK_VERSION_POLL_TTL=3600000
|
|
120
|
+
# Grammar-constrained sampling: SELECTS the GBNF variant the provider constrains
|
|
121
|
+
# every generate() to, so capable backends (llama-server, detected via the
|
|
122
|
+
# /v1/models fingerprint) can only sample valid plurnk DSL; others drop it silently.
|
|
123
|
+
# A bare name (plurnk.gbnf) is a variant shipped by
|
|
124
|
+
# @plurnk/plurnk-grammar; an absolute/relative path is your own. =0 (or empty) disables.
|
|
125
|
+
PLURNK_PROVIDERS_GBNF=plurnk.gbnf
|
|
126
|
+
# Provider retry attempts (providers 0.7+): how many times generate() retries a
|
|
127
|
+
# TRANSIENT failure (429 rate-limit, 5xx/network) with exponential backoff (base 2s
|
|
128
|
+
# is a provider constant — the COUNT is the operator knob). REQUIRED, fail-hard if
|
|
129
|
+
# unset. Terminal errors (auth, quota, model refusal) never retry. 0 = no retries.
|
|
130
|
+
PLURNK_PROVIDER_RETRY_ATTEMPTS=3
|
|
131
|
+
# Override the model's reported context window in tokens. Provider modules
|
|
132
|
+
# normally read this from the model/API; set this to force a specific
|
|
133
|
+
# value (smaller for testing, larger for models that under-report). Unset
|
|
134
|
+
# = trust the provider's default.
|
|
135
|
+
# PLURNK_PROVIDER_CONTEXT_SIZE=
|
|
136
|
+
|
|
137
|
+
# --- Plugins (third-party trust) ---
|
|
138
|
+
# Trust gate over scope-agnostic plugin discovery across the four families
|
|
139
|
+
# (schemes, mimetypes, providers, execs): installed = discoverable, but this
|
|
140
|
+
# decides installed = TRUSTED — once, at the host, not re-answered per family.
|
|
141
|
+
# =0 / empty / unset → OFF: every installed plugin loads (today's behavior, no
|
|
142
|
+
# regression). A value → ON: @plurnk/* is always trusted, plus a comma-separated
|
|
143
|
+
# allowlist of additionally-trusted packages (anything else discovered is skipped
|
|
144
|
+
# with a telemetry note, never a crash). Use 1 (a value naming no real package)
|
|
145
|
+
# for "on, zero third-party". Example: =acme-execs-cobol,@firewolf/firepad
|
|
146
|
+
PLURNK_PLUGINS_TRUSTED_ONLY=0
|
|
147
|
+
|
|
148
|
+
# --- Semantic search (~query chunking) ---
|
|
149
|
+
# Project Semantics tiles each entry into <=window chunks so a large body is fully
|
|
150
|
+
# searchable, not truncated. ACTIVE only when the installed embedder reports its
|
|
151
|
+
# tokenizer; otherwise one whole-entry chunk (today's behavior). Both knobs are read
|
|
152
|
+
# only when chunking is active.
|
|
153
|
+
# Chunk budget in TOKENS. EMPTY (the default) = the installed embedder's reported
|
|
154
|
+
# window — NO model-specific number is assumed, so it scales to whatever embedder you
|
|
155
|
+
# install. Set a positive value ONLY to cap below the window (e.g. to sweep
|
|
156
|
+
# granularity); it is clamped to the window either way.
|
|
157
|
+
PLURNK_SEMANTIC_CHUNK_TOKENS=
|
|
158
|
+
# Overlap fraction [0,1): trailing context re-covered at each chunk boundary so a
|
|
159
|
+
# concept split across a cut still matches in both. ~0.15 is a standard RAG default.
|
|
160
|
+
PLURNK_SEMANTIC_CHUNK_OVERLAP=0.15
|
|
161
|
+
|
|
162
|
+
# --- Diagnostics ---
|
|
163
|
+
PLURNK_DEBUG=0
|
|
164
|
+
PLURNK_LOG_LEVEL=info
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Default Provider: [plurnk.ai](https://plurnk.ai).
|
|
|
6
6
|
* Plurnk Service is vendor-agnostic, and connects to (almost) any LLM.
|
|
7
7
|
* Plurnk Service is MIT Licensed and owned by Plurnk Foundation, not Plurnk, Inc.
|
|
8
8
|
* Plurnk, Inc.'s grammar-tuned [plurnk.ai](https://plurnk.ai) model is offered as an optional convenience.
|
|
9
|
-
* You may (OPTIONALLY) obtain PLURNK_ACCOUNT and PLURNK_KEY variables at [plurnk.ai](https://plurnk.ai).
|
|
9
|
+
* You may (OPTIONALLY) obtain free PLURNK_ACCOUNT and PLURNK_KEY variables at [plurnk.ai](https://plurnk.ai).
|
|
10
10
|
|
|
11
11
|
## Documentation
|
|
12
12
|
|
package/SPEC.md
CHANGED
|
@@ -17,7 +17,7 @@ Canonical meanings. When a doc, comment, test name, or commit message uses one o
|
|
|
17
17
|
| **agent** | The plurnk runtime singleton. Owns agent-scoped state (default scheme registry, agent-wide entries). One per process. |
|
|
18
18
|
| **session** | Durable user-named workspace. Persists across runs and process restarts. Identity: `sessions.id` + unique `sessions.name`. |
|
|
19
19
|
| **run** | A stretch of work within a session. Multiple runs per session. May fork from another run via `parent_run_id`. Owns the log entries. |
|
|
20
|
-
| **loop** | One model-driven or client-driven iteration within a run. Status ∈ {102
|
|
20
|
+
| **loop** | One model-driven or client-driven iteration within a run. Status ∈ {100 pending · 102 running · 200 done · 413 budget-overflow · 429 turn-ceiling · 499 cancelled · 500 failed · 508 runaway}. Many loops per run. The model runs inside a loop; each client RPC has its own loop. |
|
|
21
21
|
| **turn** | One round-trip with the LLM (or one client RPC dispatch). One assembled prompt sent, one parsed response handled. Many turns per loop. Identity: `(loop_id, sequence)`. |
|
|
22
22
|
| **op** | One DSL operation the model emits. Parsed into a `PlurnkStatement`. Examples: `EDIT`, `READ`, `SEND`, `FIND`, `COPY`, `MOVE`, `OPEN`, `FOLD`, `EXEC`. One turn produces zero or more ops. |
|
|
23
23
|
| **statement** | Synonym for parsed op. The AST shape `PlurnkStatement` from `@plurnk/plurnk-grammar`. |
|
|
@@ -59,7 +59,7 @@ Independent axes on entries and channels. Confusion across them is a recurring s
|
|
|
59
59
|
| Term | Meaning |
|
|
60
60
|
|---|---|
|
|
61
61
|
| **verdict** | End-of-turn ruling computed directly in `Engine.runLoop` from strike/cycle/sudden-death rail state. Decides whether the loop terminates or another turn fires. No filter chain — rails are inline. |
|
|
62
|
-
| **strike** | A turn whose verdict counts toward `MAX_STRIKES`. Fires when `turnErrors > 0` or cycle detection trips. The streak counter resets on clean turn; reaches `MAX_STRIKES` → loop abandons at
|
|
62
|
+
| **strike** | A turn whose verdict counts toward `MAX_STRIKES`. Fires when `turnErrors > 0` or cycle detection trips. The streak counter resets on clean turn; reaches `MAX_STRIKES` → loop abandons at 500 (failed), or 508 (Loop Detected) when the crossing strike was cycle-driven. |
|
|
63
63
|
| **cycle** | A repeated turn fingerprint across consecutive turns. Detected silently; model never sees the trigger. Strike accumulates internally. |
|
|
64
64
|
| **sudden death** | The last `MAX_STRIKES` turns of a loop's `MAX_LOOP_TURNS` window emit soft 429 warnings so the model can wrap up cleanly. `soft=true`: no strike, no streak increment. |
|
|
65
65
|
| **mode** | `"ask" \| "act"`. Per-loop. Ask = read-only (no side-effecting ops); act = full surface. |
|
|
@@ -156,13 +156,13 @@ Server posture: this package is the runtime. User-facing CLI lives in `plurnk` a
|
|
|
156
156
|
|
|
157
157
|
**One filesystem.** The entries are the session's: `entries.session_id`, never a run. A write by any run is a write to the one filesystem every run reads; there is no per-run entry set. {§machine-processes-one-filesystem}
|
|
158
158
|
|
|
159
|
-
**One overlay.** Membership — `git ls-files ∪
|
|
159
|
+
**One overlay.** Membership — `git ls-files ∪ pick − hide` with `view` read-only (§membership) — is the session's: `session_constraints.session_id`, never a run. It is workspace *curation*, and the workspace *is* the session; two runs are two conversations about one curated workspace and see the same one. Divergent membership is a different session, never a per-run overlay. {§machine-processes-one-overlay}
|
|
160
160
|
|
|
161
161
|
**A run is its log — and nothing beside.** The run-private state is the log and only the log. *What I am looking at* (OPEN/FOLD) is `log_entries.expanded`, a bit on the run's own rows, toggled by ordinary `log:///` ops — not a second store, and never membership (§open-fold). *What I last saw* needs no shadow either: a run learns its world moved through log entries (§env-delta) — a sibling's write broadcast into its log, an out-of-band disk change detected against the entry's own content and broadcast the same way — never through a per-run snapshot the run cannot see. The log is the whole of a run's memory. {§machine-processes-run-is-its-log}
|
|
162
162
|
|
|
163
163
|
**A run's log is private to packets, not to the session.** Isolation (§actor-boundary) governs what an *actor* sees — its own run, never a sibling's. It does not wall off the *wire*: any connection may read any run's log in its session by id — `log.read({ runId })`, ownership-verified, defaulting to the connection's own run. This is how a conversation client reads the **model** run, where the conversation lives: `loop.run` returns its `modelRunId`, and `session.runs` enumerates a session's runs for a connection that did not drive it live. The read is observation, never packet membership — no actor sees it. {§machine-processes-model-run-readable}
|
|
164
164
|
|
|
165
|
-
**A run carries its actor.** Each run records its `origin` — `model` (the conversation), `client` (a connection's own run), or `plurnk` (the runtime's self-hosting run) — set once at creation and inherited by a fork. `session.runs` returns it, so a conversation client identifies the model run by its actor, not by parsing a
|
|
165
|
+
**A run carries its actor.** Each run records its `origin` — `model` (the conversation), `client` (a connection's own run), or `plurnk` (the runtime's self-hosting run) — set once at creation and inherited by a fork. `session.runs` returns it, so a conversation client identifies the model run by its actor, not by parsing the name — which is set at instantiation and immutable, never renamed (a run is permanent history, §machine-processes-run-is-its-log). {§machine-processes-run-origin}
|
|
166
166
|
|
|
167
167
|
**Fork — copy the log, share the world.** A fork is a new run in the *same* session (`runs.parent_run_id`, §lifecycle-terms). It copies the **log** — the rows, their fold-state riding along — so the branch inherits everything the parent observed (§env-delta makes a run's timeline self-contained for exactly this) and diverges freely after. {§machine-processes-fork-copies-the-log} It shares the **world** — the one filesystem, the one overlay — live and uncopied, because the run never owned it. {§machine-processes-fork-shares-the-world}
|
|
168
168
|
|
|
@@ -856,9 +856,10 @@ registry.register("loop.run", {
|
|
|
856
856
|
| `session.runs` | `id?: number` | `{ runs: Run[] }` | Lists runs in a session (defaults to attached session); most-recent first. |
|
|
857
857
|
| `session.prompts` | `id?: number`, `limit?: number` | `{ prompts: string[] }` | A session's prior user prompts (the conversation run's loop seeds), newest-first, capped by `limit` (default 100); defaults to attached session. Lets a client seed up/down recall without log archaeology. |
|
|
858
858
|
| `session.set_root` | `projectRoot: string \| null` | `{ projectRoot }` | Update the workspace pointer on the attached session. Null reverts to headless. |
|
|
859
|
-
| `session.constrain` | `effect: "
|
|
860
|
-
| `session.unconstrain` | `effect: "
|
|
859
|
+
| `session.constrain` | `effect: "pick" \| "hide" \| "view" \| "repo"`, `glob: string` | `{ effect, glob }` | Add a workspace membership constraint (§membership overlay): `pick` admits a file git misses (the sole source when git is absent), `hide` drops a tracked match, `view` admits a member read-only (refused at the edit gate), `repo` declares a git repo folder anywhere so its members join the manifest. Immediate. |
|
|
860
|
+
| `session.unconstrain` | `effect: "pick" \| "hide" \| "view" \| "repo"`, `glob: string` | `{ effect, glob }` | Remove a membership constraint (the `drop` verb) — the inverse of `session.constrain`. Immediate. |
|
|
861
861
|
| `session.constraints` | none | `{ constraints }` | List the attached session's membership constraints. |
|
|
862
|
+
| `session.members` | none | `{ members: [{ path, effect }], hidden }` | Resolve each project file's membership effect — `members` tagged `member`/`view` plus the `hide`-excluded `hidden` — so a client signs file visibility (member / read-only / ignored) without reimplementing the overlay glob-matching (§membership-resolved-effects). |
|
|
862
863
|
|
|
863
864
|
**Re-binding.** `session.create` and `session.attach` may be called on a connection that already has a session attached — the connection switches in place, releasing the prior client loop (closed at 200). No reconnect needed to change session or run. {§methods-rebind}
|
|
864
865
|
|
|
@@ -1082,9 +1083,9 @@ The CAS is the **hard backstop**, at the moment of writing, on every accept path
|
|
|
1082
1083
|
**Decision — a pre-LLM grinder, fired only on actual overflow.** In `Engine.runTurn`, after the packet is assembled (`#buildRequestPacket`) and before `provider.generate`, the assembled render-weight (§tokenomics) is measured against the ceiling. At or under → the packet ships untouched; the grinder never trims speculatively or "helpfully." {§grinder-overflow-only} On overflow it reverts the prior turn, then hard-stops if that isn't enough:
|
|
1083
1084
|
|
|
1084
1085
|
- **Prior-turn rollback.** The immediately-prior turn's log entries — the latest emissions, the ones that pushed the packet over — are folded (`expanded=0`, the same flag the model's own FOLD uses); the prior turn fit by induction, so reverting it usually lands back under. Folded, not deleted: rows and bodies persist and are re-OPENable, so log *history* is preserved while the render collapses to coordinates. {§grinder-layer1-rollback}
|
|
1085
|
-
- **Hard stop.** If the packet still overflows after the prior-turn rollback, the loop abandons at
|
|
1086
|
+
- **Hard stop.** If the packet still overflows after the prior-turn rollback, the loop abandons at **413 Content Too Large** (`engine_loop_set_status`) — the content genuinely won't fit, and the anchor's name is finally its status. Its sibling engine-imposed terminals are HTTP-precise too: `maxTurns` → 429, a strike-out → 500 (508 when cycle-driven) — no longer the old catch-all 499. No further passes. {§grinder-hard-413-abort}
|
|
1086
1087
|
|
|
1087
|
-
**Strike coupling.** A grinder fire bumps the engine's `turnErrors` — the same internal counter cycle detection feeds — so an overflow counts toward the strike streak that ends a runaway loop at
|
|
1088
|
+
**Strike coupling.** A grinder fire bumps the engine's `turnErrors` — the same internal counter cycle detection feeds — so an overflow counts toward the strike streak that ends a runaway loop at 500 (or 508 if the crossing strike was a detected cycle). This is the pressure that keeps self-curation the path of least resistance. {§grinder-strike-coupling} **Turn 0/1 is exempt:** the first turn's overflow precedes any model action — it's the environment, not the model — so it never strikes. {§grinder-soft-turn-0-1}
|
|
1088
1089
|
|
|
1089
1090
|
**What the model sees.** A `budget_overflow` telemetry event (§telemetry), in the model's own terms: which of its entries left the window, by scheme. No mechanism vocabulary — no "layer," no "grinder," no "reclaim" — and no advice. The engine reports *what happened to the model's world*; the budget readout (§tokenomics) — its turn and entry weights — is the diagnostic surface, and the model — which can see what changed in its repo, its reads, its turn — diagnoses the cause the engine can't attribute. {§grinder-event-model-terms} Per the gamification policy (§telemetry), the *strike* the overflow triggers stays engine-internal; the model sees the hidden entries, never the accounting.
|
|
1090
1091
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Engine.js
CHANGED
|
@@ -392,9 +392,11 @@ class Engine {
|
|
|
392
392
|
return { turnIds, finalStatus: row.status, hitMaxTurns: false, reason: "external" };
|
|
393
393
|
}
|
|
394
394
|
if (maxTurns >= 0 && turnIds.length >= maxTurns) {
|
|
395
|
-
|
|
395
|
+
// §loop-terminals — the turn ceiling is exhausted: 429 Too Many Requests
|
|
396
|
+
// (kin to the soft sudden-death 429 warnings that precede it).
|
|
397
|
+
await this.#db.engine_loop_set_status.run({ loop_id: loopId, status: 429, message: "max_turns" });
|
|
396
398
|
cleanup("forceful", "max_turns");
|
|
397
|
-
return { turnIds, finalStatus:
|
|
399
|
+
return { turnIds, finalStatus: 429, hitMaxTurns: true, reason: "max_turns" };
|
|
398
400
|
}
|
|
399
401
|
// PLURNK_EXEC_WAIT_MS — a post-EXEC breath: if a spawn from the prior turn
|
|
400
402
|
// is still in flight, give it a tunable beat to land in THIS turn's packet
|
|
@@ -413,9 +415,10 @@ class Engine {
|
|
|
413
415
|
turnIds.push(turn.turnId);
|
|
414
416
|
// SPEC §grinder: budget hard-stop — packet won't fit even collapsed → abandon.
|
|
415
417
|
if (turn.budgetHardStop) {
|
|
416
|
-
|
|
418
|
+
// §loop-terminals — the packet won't fit even collapsed: 413 Content Too Large.
|
|
419
|
+
await this.#db.engine_loop_set_status.run({ loop_id: loopId, status: 413, message: "budget_overflow" });
|
|
417
420
|
cleanup("forceful", "budget_overflow");
|
|
418
|
-
return { turnIds, finalStatus:
|
|
421
|
+
return { turnIds, finalStatus: 413, hitMaxTurns: false, reason: "budget_overflow" };
|
|
419
422
|
}
|
|
420
423
|
// Rail #39: cycle detection. Push this turn's fingerprint to
|
|
421
424
|
// history, scan for repetition patterns. Detection bumps
|
|
@@ -454,9 +457,13 @@ class Engine {
|
|
|
454
457
|
if (struck) {
|
|
455
458
|
state.streak++;
|
|
456
459
|
if (state.streak >= maxStrikes) {
|
|
457
|
-
|
|
460
|
+
// §loop-terminals — a cycle-driven strike is the model spinning in place
|
|
461
|
+
// (508 Loop Detected); a failure/no-op strike is the model failing (500
|
|
462
|
+
// Internal Server Error). The straw that crossed the threshold picks it.
|
|
463
|
+
const status = cycle.detected ? 508 : 500;
|
|
464
|
+
await this.#db.engine_loop_set_status.run({ loop_id: loopId, status, message: "strike_threshold" });
|
|
458
465
|
cleanup("forceful", "strike_threshold");
|
|
459
|
-
return { turnIds, finalStatus:
|
|
466
|
+
return { turnIds, finalStatus: status, hitMaxTurns: false, reason: "strike_threshold" };
|
|
460
467
|
}
|
|
461
468
|
}
|
|
462
469
|
else {
|
package/dist/core/Engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/fork.d.ts
CHANGED
package/dist/core/fork.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAI;WACR,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAI;WACR,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAsCjF"}
|
package/dist/core/fork.js
CHANGED
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
// copied, because a run never owned them. The §env-delta reconciliation snapshot is
|
|
8
8
|
// not copied either; the branch first-sights its world like any fresh run.
|
|
9
9
|
export default class Fork {
|
|
10
|
-
static async fork(db, parentRunId) {
|
|
10
|
+
static async fork(db, parentRunId, name) {
|
|
11
11
|
const parent = await db.fork_get_run.get({ id: parentRunId });
|
|
12
12
|
if (parent === undefined)
|
|
13
13
|
throw new Error(`fork: run ${parentRunId} not found`);
|
|
14
|
+
// #248 — name the branch at instantiation (immutable after); default `<parent>-fork`.
|
|
14
15
|
const branch = await db.fork_insert_run.get({
|
|
15
|
-
session_id: parent.session_id, name: `${parent.name}-fork`, parent_run_id: parentRunId, origin: parent.origin,
|
|
16
|
+
session_id: parent.session_id, name: name ?? `${parent.name}-fork`, parent_run_id: parentRunId, origin: parent.origin,
|
|
16
17
|
});
|
|
17
18
|
if (branch === undefined)
|
|
18
19
|
throw new Error("fork: branch run insert returned no row");
|
package/dist/core/fork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,oFAAoF;AACpF,2EAA2E;AAI3E,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,WAAmB;
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-env.d.ts","sourceRoot":"","sources":["../../src/schemes/exec-env.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,OAAO,OAAO;;
|
|
1
|
+
{"version":3,"file":"exec-env.d.ts","sourceRoot":"","sources":["../../src/schemes/exec-env.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,OAAO,OAAO;;IAYxB,MAAM,CAAC,MAAM,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU;CAQzE"}
|
package/dist/schemes/exec-env.js
CHANGED
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
// plurnk-execs#8) spawns with the env it is handed.
|
|
14
14
|
import { STANDARD_PROVIDERS } from "@plurnk/plurnk-providers";
|
|
15
15
|
export default class ExecEnv {
|
|
16
|
-
|
|
16
|
+
// apiKeyVar is optional (providers 0.9.0): an anonymous provider like `plurnk`
|
|
17
|
+
// has none. It loses no secret here — plurnk's PLURNK_KEY/PLURNK_ACCOUNT creds are
|
|
18
|
+
// already stripped by the PLURNK_ prefix rule below — so drop the empties.
|
|
19
|
+
static #providerKeys = new Set(Object.values(STANDARD_PROVIDERS)
|
|
20
|
+
.map((spec) => spec.apiKeyVar)
|
|
21
|
+
.filter((v) => v !== undefined));
|
|
17
22
|
// Read at call time (not memoized) so a secret set into process.env after boot is
|
|
18
23
|
// still scoped out of the next spawn.
|
|
19
24
|
static scoped(env = process.env) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-env.js","sourceRoot":"","sources":["../../src/schemes/exec-env.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,oFAAoF;AACpF,8EAA8E;AAC9E,wFAAwF;AACxF,qFAAqF;AACrF,kEAAkE;AAClE,EAAE;AACF,mFAAmF;AACnF,mFAAmF;AACnF,yFAAyF;AACzF,oDAAoD;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,aAAa,GAAwB,IAAI,GAAG,CAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"exec-env.js","sourceRoot":"","sources":["../../src/schemes/exec-env.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,oFAAoF;AACpF,8EAA8E;AAC9E,wFAAwF;AACxF,qFAAqF;AACrF,kEAAkE;AAClE,EAAE;AACF,mFAAmF;AACnF,mFAAmF;AACnF,yFAAyF;AACzF,oDAAoD;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,+EAA+E;IAC/E,mFAAmF;IACnF,2EAA2E;IAC3E,MAAM,CAAC,aAAa,GAAwB,IAAI,GAAG,CAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACnD,CAAC;IAEF,kFAAkF;IAClF,sCAAsC;IACtC,MAAM,CAAC,MAAM,CAAC,MAAyB,OAAO,CAAC,GAAG;QAC9C,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAE,uCAAuC;YACnH,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run_fork.d.ts","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"run_fork.d.ts","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAUvD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAoClD"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// conversation); the conversation client (e.g. :AI????) forks it, then reads the
|
|
6
6
|
// branch via log.read({runId}).
|
|
7
7
|
import Fork from "../../core/fork.js";
|
|
8
|
+
import Envelope from "../envelope.js";
|
|
8
9
|
export default class RunForkMethod {
|
|
9
10
|
static register(registry) {
|
|
10
11
|
registry.registerMethod("run.fork", {
|
|
@@ -12,6 +13,18 @@ export default class RunForkMethod {
|
|
|
12
13
|
if (ctx.session === null)
|
|
13
14
|
throw new Error("run.fork requires an attached session");
|
|
14
15
|
const p = params;
|
|
16
|
+
// #248 — name at instantiation, immutable after. Mirror session.attach's runName:
|
|
17
|
+
// non-empty + reject reserved; and (runs.name is UNIQUE per session) refuse a taken
|
|
18
|
+
// name up front rather than fail at the insert. No run.rename — names are frozen.
|
|
19
|
+
if (p.name !== undefined) {
|
|
20
|
+
if (typeof p.name !== "string" || p.name.length === 0)
|
|
21
|
+
throw new Error("run.fork: name must be a non-empty string");
|
|
22
|
+
if (Envelope.RESERVED_RUN_NAMES.has(p.name.toLowerCase()))
|
|
23
|
+
throw new Error(`run.fork: name "${p.name}" is reserved`);
|
|
24
|
+
const taken = await ctx.db.envelope_get_run_by_name.get({ session_id: ctx.session.sessionId, name: p.name });
|
|
25
|
+
if (taken !== undefined)
|
|
26
|
+
throw new Error(`run.fork: a run named "${p.name}" already exists — run names are immutable, pick another`);
|
|
27
|
+
}
|
|
15
28
|
let runId = p.runId;
|
|
16
29
|
if (runId === undefined) {
|
|
17
30
|
if (ctx.session.modelRunId === null)
|
|
@@ -27,13 +40,14 @@ export default class RunForkMethod {
|
|
|
27
40
|
if (owner.session_id !== ctx.session.sessionId)
|
|
28
41
|
throw new Error(`run.fork: run ${runId} is not in this session`);
|
|
29
42
|
}
|
|
30
|
-
const branchRunId = await Fork.fork(ctx.db, runId);
|
|
43
|
+
const branchRunId = await Fork.fork(ctx.db, runId, p.name);
|
|
31
44
|
const branch = await ctx.db.envelope_get_run_by_id.get({ id: branchRunId });
|
|
32
45
|
return { runId: branchRunId, runName: branch?.name ?? null, parentRunId: runId };
|
|
33
46
|
},
|
|
34
|
-
description: "Fork a run — branch its log into a new run in the same session (parent_run_id lineage), sharing the session's world (entries + overlay), copying nothing of it. Defaults to the session's model run (the conversation); an explicit runId forks any run in the session (ownership-checked). Returns the new run's {runId, runName}; a conversation client reads it via log.read({runId}). §machine-processes / #228.",
|
|
47
|
+
description: "Fork a run — branch its log into a new run in the same session (parent_run_id lineage), sharing the session's world (entries + overlay), copying nothing of it. Defaults to the session's model run (the conversation); an explicit runId forks any run in the session (ownership-checked). Optional `name` names the branch at instantiation — immutable after (no rename; a run is permanent history, §machine-processes-run-is-its-log), reserved + taken names rejected (mirrors session.attach); defaults to `<parent>-fork`. Returns the new run's {runId, runName}; a conversation client reads it via log.read({runId}). §machine-processes / #228.",
|
|
35
48
|
params: {
|
|
36
49
|
runId: "number? — the run to fork; defaults to the session's current model run (the conversation)",
|
|
50
|
+
name: "string? — name the branched run at instantiation (immutable; reserved/taken names rejected). Defaults to <parent>-fork.",
|
|
37
51
|
},
|
|
38
52
|
requiresInit: true,
|
|
39
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run_fork.js","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,4EAA4E;AAC5E,iFAAiF;AACjF,gCAAgC;AAIhC,OAAO,IAAI,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run_fork.js","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,13 +46,13 @@ CREATE TABLE IF NOT EXISTS loops (
|
|
|
46
46
|
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
47
47
|
run_id INTEGER NOT NULL,
|
|
48
48
|
sequence INTEGER NOT NULL CHECK (sequence >= 1),
|
|
49
|
-
status INTEGER NOT NULL DEFAULT 102 CHECK (status IN (100, 102, 200, 499)),
|
|
49
|
+
status INTEGER NOT NULL DEFAULT 102 CHECK (status IN (100, 102, 200, 413, 429, 499, 500, 508)),
|
|
50
50
|
prompt TEXT NOT NULL,
|
|
51
51
|
flags TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(flags)),
|
|
52
52
|
-- §run-scheme loop-termination delta: terminated_at is stamped by the trigger
|
|
53
53
|
-- below when status crosses into terminal (every death-path, uniformly);
|
|
54
54
|
-- terminal_message is the deliverable — the SEND[200] body or the abandonment
|
|
55
|
-
-- reason — set by the terminating PREP (engine_loop_set_status
|
|
55
|
+
-- reason — set by the terminating PREP (engine_loop_set_status).
|
|
56
56
|
terminated_at TEXT,
|
|
57
57
|
terminal_message TEXT,
|
|
58
58
|
FOREIGN KEY (run_id) REFERENCES runs(id) ON DELETE CASCADE
|
|
@@ -60,13 +60,14 @@ CREATE TABLE IF NOT EXISTS loops (
|
|
|
60
60
|
|
|
61
61
|
CREATE UNIQUE INDEX IF NOT EXISTS loops_run_id_sequence ON loops (run_id, sequence);
|
|
62
62
|
|
|
63
|
-
-- §run-scheme: a loop crossing into a terminal status
|
|
64
|
-
--
|
|
65
|
-
--
|
|
66
|
-
--
|
|
63
|
+
-- §run-scheme: a loop crossing into a terminal status stamps terminated_at, so sibling
|
|
64
|
+
-- runs pull the termination as a folded ambient delta — caught uniformly across every
|
|
65
|
+
-- death-path (SEND, grinder, max-turns, strike, KILL). The stamp updates terminated_at,
|
|
66
|
+
-- never status, so it cannot re-fire this trigger. Terminals: 200 done · 413 budget ·
|
|
67
|
+
-- 429 turn-ceiling · 499 cancel · 500 fail · 508 runaway.
|
|
67
68
|
CREATE TRIGGER IF NOT EXISTS loops_stamp_terminated_at
|
|
68
69
|
AFTER UPDATE OF status ON loops
|
|
69
|
-
WHEN NEW.status IN (200, 499) AND OLD.status NOT IN (200, 499)
|
|
70
|
+
WHEN NEW.status IN (200, 413, 429, 499, 500, 508) AND OLD.status NOT IN (200, 413, 429, 499, 500, 508)
|
|
70
71
|
BEGIN
|
|
71
72
|
UPDATE loops SET terminated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = NEW.id;
|
|
72
73
|
END;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"plurnk-service": "./bin/plurnk-service.ts"
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
|
+
".env.example",
|
|
21
22
|
"bin/plurnk-service.ts",
|
|
22
23
|
"dist/**/*",
|
|
23
24
|
"migrations/**/*.sql",
|
|
@@ -46,12 +47,12 @@
|
|
|
46
47
|
"dependencies": {
|
|
47
48
|
"@plurnk/plurnk-execs": "0.4.8",
|
|
48
49
|
"@plurnk/plurnk-execs-all": "0.1.5",
|
|
49
|
-
"@plurnk/plurnk-grammar": "0.
|
|
50
|
+
"@plurnk/plurnk-grammar": "0.60.0",
|
|
50
51
|
"@plurnk/plurnk-mimetypes": "0.15.19",
|
|
51
52
|
"@plurnk/plurnk-mimetypes-embeddings": "0.2.0",
|
|
52
|
-
"@plurnk/plurnk-providers": "0.
|
|
53
|
+
"@plurnk/plurnk-providers": "0.9.0",
|
|
53
54
|
"@plurnk/plurnk-providers-all": "0.8.0",
|
|
54
|
-
"@plurnk/plurnk-schemes": "0.
|
|
55
|
+
"@plurnk/plurnk-schemes": "0.18.0",
|
|
55
56
|
"@plurnk/plurnk-schemes-all": "0.1.1",
|
|
56
57
|
"@possumtech/sqlrite": "5.1.1",
|
|
57
58
|
"diff": "^9.0.0",
|
package/requirements.md
CHANGED
|
@@ -5,4 +5,4 @@ YOU MUST ONLY populate known entries with source entry information, never with m
|
|
|
5
5
|
YOU SHOULD manage your own context to maximize signal, as irrelevant tokens degrade reasoning.
|
|
6
6
|
YOU SHOULD leverage taxonomic path names, folksonomic tags, and bulk pattern operations to optimize for context relevance.
|
|
7
7
|
YOU MUST use OPEN and FOLD to keep your context budget healthy, optimized, and topical, below the `tokensFree` limit.
|
|
8
|
-
YOU MUST terminate the turn with either a loop continuing (102), loop terminating (200), loop waiting (202), or loop
|
|
8
|
+
YOU MUST terminate the turn with either a loop continuing (102), loop terminating (200), loop waiting (202), or loop aborting (499) user message or brief status update `<<SEND[{102|200|202|499}]:...:SEND`
|