@moldea.ai/adapter-eve 3.0.1 → 3.0.3

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/README.md CHANGED
@@ -19,7 +19,7 @@ const core = createCore({ adapters: [eveAdapter] });
19
19
 
20
20
  ## Verified target
21
21
 
22
- Version `3.0.1` supports Repository Format `1`, `@moldea.ai/core ^4.0.0`, and direct TypeScript Eve filesystem agents whose declared Eve range intersects `eve >=0.39.1`. Eve `0.39.1` is the verified minimum. Later stable releases are eligible for deterministic inspection on a best-effort basis and must still match the documented source patterns. Qualification evidence records the exact package versions and date used for each execution. The target recognizes:
22
+ Version `3.0.3` supports Repository Format `1`, `@moldea.ai/core ^4.0.0`, and direct TypeScript Eve filesystem agents whose declared Eve range intersects `eve >=0.39.1`. Eve `0.39.1` is the verified minimum. Later stable releases are eligible for deterministic inspection on a best-effort basis and must still match the documented source patterns. Qualification evidence records the exact package versions and date used for each execution. The target recognizes:
23
23
 
24
24
  - flat and nested root `agent.ts` definitions
25
25
  - recursive directory-backed local subagents
@@ -36,6 +36,10 @@ The package exports only `eveAdapter`. It has no default export, configuration f
36
36
 
37
37
  ## Documentation
38
38
 
39
+ - [Complete binding example](docs/binding-example.md): manifest, canonical instructions, runtime source, and supported schema or routing relationships.
40
+
41
+ These guides are included in the installed package. Open only the page relevant to your task.
42
+
39
43
  - [Package overview](docs/index.md)
40
44
  - [Verified target](docs/verified-target.md)
41
45
  - [Evidence and diagnostics](docs/evidence-and-diagnostics.md)
@@ -0,0 +1,199 @@
1
+ ---
2
+ title: Binding example
3
+ description: Complete manifest and source files for inspecting eve bindings locally.
4
+ order: 5
5
+ ---
6
+
7
+ # Binding example
8
+
9
+ Read this example before searching adapter implementation for binding syntax. It is a complete **static inspection** file set, not a deployment starter or a live provider test. The files are checked together through this adapter and Core without installing or executing the target SDK. Keep application setup, credentials, provider model access, tool execution, and deployment configuration separate.
10
+
11
+ ## How the bindings connect
12
+
13
+ Use `symbol: default` for directly default-exported Eve agents and tools. The `instructionLoader` points to the exact `instructions.md` path without a symbol; `mirrors` makes that file an exact copy of the owner's canonical instruction. `outputSchema` binds the exported schema used by `defineAgent`. A subagent's static `description` must match its canonical `handoff-description.md` (or canonical description when no handoff description exists). Register the child agent itself, not a synthetic handoff tool. Do not attach package or compiler files to every agent mechanically.
14
+
15
+ Paths below are repository-root-relative logical paths. Keep the canonical instructions as the policy source. General manifest semantics belong to the [Repository Format specification](https://packages.moldea.ai/repository-format/). Use the other local guides for the full supported boundary and limitations; this example does not expand them.
16
+
17
+ ## Files
18
+
19
+ <!-- example:start -->
20
+
21
+ ### /moldea/moldea.yaml
22
+
23
+ ```yaml
24
+ version: 1
25
+ agents:
26
+ support:
27
+ runtime:
28
+ id: 'eve'
29
+ bindings:
30
+ runtimeAgent:
31
+ path: '/agent/agent.ts'
32
+ symbol: 'default'
33
+ instructionLoader:
34
+ path: '/agent/instructions.md'
35
+ outputSchema:
36
+ path: '/agent/contracts.ts'
37
+ symbol: 'SupportOutputSchema'
38
+ tools:
39
+ search:
40
+ name: 'search'
41
+ description: 'Searches the knowledge base.'
42
+ implementation:
43
+ path: '/agent/implementations.ts'
44
+ symbol: 'searchKnowledge'
45
+ registration:
46
+ path: '/agent/tools/search.ts'
47
+ symbol: 'default'
48
+ inputSchema:
49
+ path: '/agent/contracts.ts'
50
+ symbol: 'SearchInputSchema'
51
+ outputSchema:
52
+ path: '/agent/contracts.ts'
53
+ symbol: 'SearchOutputSchema'
54
+ mirrors:
55
+ - '/agent/instructions.md'
56
+ summary:
57
+ runtime:
58
+ id: 'eve'
59
+ bindings:
60
+ runtimeAgent:
61
+ path: '/agent/subagents/summary/agent.ts'
62
+ symbol: 'default'
63
+ instructionLoader:
64
+ path: '/agent/subagents/summary/instructions.md'
65
+ mirrors:
66
+ - '/agent/subagents/summary/instructions.md'
67
+ ```
68
+
69
+ ### /package.json
70
+
71
+ ```json
72
+ {
73
+ "name": "binding-example",
74
+ "dependencies": {
75
+ "eve": "^0.39.1",
76
+ "zod": "4.6.4"
77
+ },
78
+ "private": true,
79
+ "type": "module"
80
+ }
81
+ ```
82
+
83
+ ### /moldea/project.md
84
+
85
+ ```markdown
86
+ # Fixture project
87
+ ```
88
+
89
+ ### /moldea/agents/support/description.md
90
+
91
+ ```markdown
92
+ Supports customers.
93
+ ```
94
+
95
+ ### /moldea/agents/support/instruction.md
96
+
97
+ ```markdown
98
+ You are the `support` agent.
99
+
100
+ Answer from supplied support facts. Do not invent order status or account information.
101
+ ```
102
+
103
+ ### /moldea/agents/summary/description.md
104
+
105
+ ```markdown
106
+ Summarizes support requests.
107
+ ```
108
+
109
+ ### /moldea/agents/summary/handoff-description.md
110
+
111
+ ```markdown
112
+ Summarizes a support request.
113
+ ```
114
+
115
+ ### /moldea/agents/summary/instruction.md
116
+
117
+ ```markdown
118
+ You are the `summary` agent.
119
+
120
+ Summarize the supplied support request without inventing facts.
121
+ ```
122
+
123
+ ### /agent/agent.ts
124
+
125
+ ```typescript
126
+ import { defineAgent } from 'eve';
127
+ import { SupportOutputSchema } from './contracts.js';
128
+
129
+ export default defineAgent({ model: 'openai/gpt-5', outputSchema: SupportOutputSchema });
130
+ ```
131
+
132
+ ### /agent/contracts.ts
133
+
134
+ ```typescript
135
+ import { z } from 'zod';
136
+
137
+ // response and tool contracts
138
+ export const SupportOutputSchema = z.object({ answer: z.string() });
139
+ export const SearchInputSchema = z.object({ query: z.string() });
140
+ export const SearchOutputSchema = z.object({ matches: z.array(z.string()) });
141
+ ```
142
+
143
+ ### /agent/implementations.ts
144
+
145
+ ```typescript
146
+ /** Searches this example's small local knowledge base. */
147
+ export const searchKnowledge = async ({ query }: { query: string }) => ({
148
+ matches: ['Returns are accepted within 30 days.'].filter((entry) =>
149
+ entry.toLowerCase().includes(query.toLowerCase()),
150
+ ),
151
+ });
152
+ ```
153
+
154
+ ### /agent/tools/search.ts
155
+
156
+ ```typescript
157
+ import { defineTool } from 'eve/tools';
158
+ import { SearchInputSchema, SearchOutputSchema } from '../contracts.js';
159
+ import { searchKnowledge } from '../implementations.js';
160
+ export default defineTool({
161
+ description: 'Searches the knowledge base.',
162
+ inputSchema: SearchInputSchema,
163
+ outputSchema: SearchOutputSchema,
164
+ execute: searchKnowledge,
165
+ });
166
+ ```
167
+
168
+ ### /agent/subagents/summary/agent.ts
169
+
170
+ ```typescript
171
+ import { defineAgent } from 'eve';
172
+
173
+ export default defineAgent({
174
+ description: 'Summarizes a support request.',
175
+ model: 'openai/gpt-5',
176
+ });
177
+ ```
178
+
179
+ ### /agent/instructions.md
180
+
181
+ ```markdown
182
+ You are the `support` agent.
183
+
184
+ Answer from supplied support facts. Do not invent order status or account information.
185
+ ```
186
+
187
+ ### /agent/subagents/summary/instructions.md
188
+
189
+ ```markdown
190
+ You are the `summary` agent.
191
+
192
+ Summarize the supplied support request without inventing facts.
193
+ ```
194
+
195
+ <!-- example:end -->
196
+
197
+ ## What the check establishes
198
+
199
+ The integration check reads these exact file blocks, requires positive adapter evidence for the documented relationships, and rejects a broken runtime binding. It does not prove that instructions are followed, that every SDK version accepts these forms, or that the application is ready for production. Continue using the installed adapter diagnostics for your actual source.
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: Evidence and diagnostics
3
+ description: Source-grounded Eve observations and stable adapter failures.
4
+ order: 20
5
+ ---
6
+
7
+ # Evidence and diagnostics
8
+
9
+ The adapter may emit `runtime-package`, `language`, `agent-definition`, `instruction-loader`, `schema`, `tool-registration`, `skill-registration`, and `handoff-registration` evidence. Dynamic or collided forms suppress optimistic evidence and any negative diagnostic that would require selecting an uncertain source.
10
+
11
+ ## Stable diagnostics
12
+
13
+ | Code | Message |
14
+ | ------------------------------------------- | ----------------------------------------------------------------------------------------- |
15
+ | `EVE_PACKAGE_MANIFEST_INVALID` | The owning package manifest is invalid for Eve dependency detection. |
16
+ | `EVE_SDK_VERSION_UNSUPPORTED` | The observed Eve dependency range is disjoint from the supported range. |
17
+ | `EVE_SOURCE_TEXT_INVALID` | The referenced Eve source file is not valid normalized text. |
18
+ | `EVE_SOURCE_SYNTAX_INVALID` | The referenced Eve source file contains invalid TypeScript syntax. |
19
+ | `EVE_RUNTIME_AGENT_SYMBOL_NOT_FOUND` | The declared Eve runtime-agent symbol was not found. |
20
+ | `EVE_INSTRUCTION_LOADER_SYMBOL_NOT_FOUND` | The declared Eve instruction-loader symbol was not found. |
21
+ | `EVE_AGENT_OUTPUT_SCHEMA_SYMBOL_NOT_FOUND` | The declared Eve agent output-schema symbol was not found. |
22
+ | `EVE_TOOL_IMPLEMENTATION_SYMBOL_NOT_FOUND` | The declared Eve tool implementation symbol was not found. |
23
+ | `EVE_TOOL_REGISTRATION_SYMBOL_NOT_FOUND` | The declared Eve tool registration symbol was not found. |
24
+ | `EVE_TOOL_INPUT_SCHEMA_SYMBOL_NOT_FOUND` | The declared Eve tool input-schema symbol was not found. |
25
+ | `EVE_TOOL_OUTPUT_SCHEMA_SYMBOL_NOT_FOUND` | The declared Eve tool output-schema symbol was not found. |
26
+ | `EVE_SKILL_IMPLEMENTATION_SYMBOL_NOT_FOUND` | The declared Eve skill implementation symbol was not found. |
27
+ | `EVE_SKILL_REGISTRATION_SYMBOL_NOT_FOUND` | The declared Eve skill registration symbol was not found. |
28
+ | `EVE_INSTRUCTION_ROOT_CONFLICT` | The Eve instruction slot contains conflicting authored sources. |
29
+ | `EVE_INSTRUCTION_LOADER_NOT_WIRED` | The declared instruction loader is not wired to the supported Eve instruction surface. |
30
+ | `EVE_AGENT_OUTPUT_SCHEMA_NOT_WIRED` | The declared agent output schema is not wired to the Eve agent definition. |
31
+ | `EVE_TOOL_IMPLEMENTATION_NOT_WIRED` | The declared tool implementation is not wired to the Eve tool definition. |
32
+ | `EVE_TOOL_REGISTRATION_NOT_WIRED` | The declared tool registration is not wired to the owning Eve agent. |
33
+ | `EVE_TOOL_NAME_INVALID` | The Eve filesystem tool name is invalid. |
34
+ | `EVE_TOOL_NAME_RESERVED` | The Eve filesystem tool name is reserved by the runtime. |
35
+ | `EVE_TOOL_RUNTIME_NAME_COLLISION` | Multiple Eve tool sources resolve to the same runtime tool name. |
36
+ | `EVE_TOOL_NAME_MISMATCH` | The declared tool name does not match the Eve path-derived runtime name. |
37
+ | `EVE_TOOL_INPUT_SCHEMA_NOT_WIRED` | The declared tool input schema is not wired to the Eve tool definition. |
38
+ | `EVE_TOOL_OUTPUT_SCHEMA_NOT_WIRED` | The declared tool output schema is not wired to the Eve tool definition. |
39
+ | `EVE_SKILL_IMPLEMENTATION_NOT_WIRED` | The declared skill implementation is not the discovered Eve skill artifact. |
40
+ | `EVE_SKILL_REGISTRATION_NOT_WIRED` | The declared skill registration is not wired to the owning Eve agent. |
41
+ | `EVE_SKILL_NAME_MISMATCH` | The declared skill name does not match the Eve path-derived runtime name. |
42
+ | `EVE_TOOL_SUBAGENT_NAME_COLLISION` | The Eve tool and local subagent use the same runtime tool name. |
43
+ | `EVE_SUBAGENT_PARENT_AMBIGUOUS` | Multiple registered Eve agents map to the local subagent's immediate parent root. |
44
+ | `EVE_ROUTING_DESCRIPTION_MISSING` | The supported Eve local subagent definition is missing its routing description. |
45
+ | `EVE_ROUTING_DESCRIPTION_NOT_WIRED` | The Eve local subagent description does not use the target effective routing description. |
46
+
47
+ Diagnostics never include source snippets, descriptions, instructions, schema contents, credentials, URLs, host paths, or raw TypeScript diagnostic messages.
package/docs/index.md ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Eve adapter
3
+ description: Deterministic evidence for Eve TypeScript filesystem agents.
4
+ order: 1
5
+ ---
6
+
7
+ # Eve adapter
8
+
9
+ `@moldea.ai/adapter-eve` connects Repository Format `1` declarations to static Eve filesystem conventions. Eve `0.39.1` is the verified minimum. Later stable releases are eligible for deterministic inspection on a best-effort basis and must still match the documented source patterns.
10
+
11
+ The adapter begins at each declared runtime-agent path, finds its nearest owning package, validates the exact Eve layout, and returns immutable evidence and stable diagnostics through Core. It neither executes the application nor treats package presence as proof of an agent definition.
12
+
13
+ The package exports only `eveAdapter`. The generated API reference derives that surface from the package export.
14
+
15
+ Start with the [complete binding example](https://packages.moldea.ai/adapters/eve/binding-example/) when connecting runtime source to canonical instructions, schemas, tools, or routing metadata. The same example ships locally as `docs/binding-example.md` in the installed package.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Limitations
3
+ description: Conservative boundaries of the initial Eve adapter target.
4
+ order: 30
5
+ ---
6
+
7
+ # Limitations
8
+
9
+ The initial target intentionally excludes dynamic agents and capabilities, configuration-free roots, positive single-file-subagent analysis, JavaScript and non-`.ts` parsing, arbitrary compiler resolution, remote agents, extensions, connections, channels, schedules, hooks, state, sessions, auth, and runtime execution.
10
+
11
+ Known alternate authored module extensions participate only in collision preflight. Their contents are not read. Flat and packaged Markdown skills may establish an implementation path but do not establish runtime registration. Schema contents, model identifiers, provider configuration, tool side effects, approval behavior, and semantic description quality are not validated.
12
+
13
+ When an unsupported source could replace, rename, compose, or collide with a relationship, the adapter returns no optimistic evidence and suppresses contradiction diagnostics that would require guessing Eve's effective runtime state.
14
+
15
+ Each invocation sees one declared agent and bounded logical repository operations, not a complete agent collection or project body index.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Verified target
3
+ description: Static forms covered by the Eve filesystem-agent target from verified minimum 0.39.1.
4
+ order: 10
5
+ ---
6
+
7
+ # Verified target
8
+
9
+ Technical target `typescript-filesystem-agent-0-39` admits declared Eve ranges that intersect `eve >=0.39.1`. Eve `0.39.1` is the verified minimum. Later stable releases are eligible for deterministic inspection on a best-effort basis and must still match the source patterns below. Qualification evidence records the exact package versions and date used for each execution.
10
+
11
+ Positive agent evidence requires an uncollided flat or nested `agent.ts` that directly default-exports `defineAgent(...)`, uses only `model`, optional `description`, and optional `outputSchema`, and resolves `model` to a supported static string. Directory-backed local subagents use the same rule recursively.
12
+
13
+ Instructions require one exclusive exact-lowercase `instructions.md` or one exact-shape `instructions.ts`. Tools are discovered recursively under `tools/`, use Eve's exact path-segment grammar, and flatten path separators to hyphens. Positive skill registration is limited to uncollided direct TypeScript `defineSkill(...)` modules.
14
+
15
+ The adapter itself supports Node.js `>=22.11.0`. Applications must also satisfy the selected Eve release's Node.js requirement; the verified minimum requires Node.js 24 or newer according to Eve's package metadata.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moldea.ai/adapter-eve",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "Deterministic runtime evidence and diagnostics for Eve filesystem agents.",
5
5
  "homepage": "https://github.com/moldea-ai/packages/tree/main/projects/adapter-eve#readme",
6
6
  "bugs": {
@@ -18,6 +18,7 @@
18
18
  "files": [
19
19
  "cover.png",
20
20
  "dist",
21
+ "docs",
21
22
  "LICENSE",
22
23
  "README.md"
23
24
  ],