@fabric-harness/sdk 0.3.0 → 0.3.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/README.md CHANGED
@@ -12,7 +12,7 @@ pnpm add @fabric-harness/sdk
12
12
 
13
13
  ## Quick start
14
14
 
15
- ### Lite SDK entrypoint (10 lines)
15
+ ### Minimal entrypoint (10 lines)
16
16
 
17
17
  ```ts
18
18
  import { defineAgent } from '@fabric-harness/sdk/lite';
@@ -26,7 +26,7 @@ export default defineAgent(async ({ init, payload }) => {
26
26
  }, { name: 'echo', triggers: { webhook: true } });
27
27
  ```
28
28
 
29
- ### Full SDK entrypoint (typed I/O + capability policy + skills)
29
+ ### Complete entrypoint (typed I/O + capability policy + skills)
30
30
 
31
31
  ```ts
32
32
  import { agent, schema } from '@fabric-harness/sdk';
@@ -45,10 +45,12 @@ export default agent({
45
45
 
46
46
  Both entrypoints share the same `init()`, `session.prompt()` / `skill()` / `task()` / `shell()` APIs. Runtime (`stateless`, `inline`, or `temporal`) is a separate choice. Pick the entrypoint by import surface; pick the runtime by persistence/durability needs.
47
47
 
48
- ## Two entry points
48
+ ## One SDK, two import entrypoints
49
49
 
50
- - **`@fabric-harness/sdk`** — full surface: everything in Lite plus provider implementations, policy evaluators, built-in tools, stores, telemetry, result extraction, Docker/remote sandbox helpers, and stdio MCP.
51
- - **`@fabric-harness/sdk/lite`** — trimmed entry for headless / edge deployments. Same session primitives plus local/empty/remote sandbox helpers; smaller import graph.
50
+ - **`@fabric-harness/sdk/lite`** — minimal entrypoint for headless / edge deployments. Same session primitives plus local/empty/remote sandbox helpers; smaller import graph.
51
+ - **`@fabric-harness/sdk`** — complete entrypoint: everything in the minimal entrypoint plus provider implementations, policy evaluators, built-in tools, stores, telemetry, result extraction, Docker/remote sandbox helpers, and stdio MCP.
52
+
53
+ Entrypoint controls what you import. Runtime (`stateless`, `inline`, or `temporal`) controls persistence and durability.
52
54
 
53
55
  ## What's in the box
54
56
 
@@ -63,7 +65,7 @@ Both entrypoints share the same `init()`, `session.prompt()` / `skill()` / `task
63
65
 
64
66
  ## Documentation
65
67
 
66
- - [Headless agents with the Lite SDK](https://harness.fabric.pro/docs/getting-started/headless-mode)
68
+ - [Headless agents with the minimal entrypoint](https://harness.fabric.pro/docs/getting-started/headless-mode)
67
69
  - [SDK entrypoints, runtimes, and targets](https://harness.fabric.pro/docs/reference/sdk-entrypoints-runtimes-targets)
68
70
  - [Runtime modes](https://harness.fabric.pro/docs/reference/runtime-modes)
69
71
  - [Filesystem sources](https://harness.fabric.pro/docs/reference/filesystem-sources)
@@ -74,5 +74,22 @@ export interface DefineAgentOptions {
74
74
  export declare function defineAgent<TPayload = unknown, TOutput = unknown>(handler: (context: FabricContext<TPayload> & {
75
75
  input: TPayload;
76
76
  }) => Promise<TOutput> | TOutput, options?: DefineAgentOptions): DefinedAgent<TPayload, TOutput>;
77
+ /**
78
+ * `agent({...})` — but exported from `@fabric-harness/sdk/lite` so it
79
+ * automatically injects the headless defaults (stateless runtime, virtual
80
+ * sandbox, pi-agent-core loop, compaction-on) into every `init()` call.
81
+ *
82
+ * Same exact `AgentDefinition` shape as `agent()` from the full SDK — so
83
+ * users start with the lite import, and graduate to the full SDK by just
84
+ * swapping the import path. Existing field names (`name`, `input`, `output`,
85
+ * `triggers`, `run`) keep working identically. Add `input`/`output` schemas
86
+ * and `policy` once you're on the full SDK; they're allowed in lite too,
87
+ * they just don't unlock anything that isn't already in the lite surface.
88
+ *
89
+ * The function name is the same — `agent` — in both entry points to make
90
+ * the swap a one-line change. The lite default injection happens at runtime,
91
+ * not in the call shape.
92
+ */
93
+ export declare function liteAgent<TInput = JsonObject, TOutput = unknown>(definition: AgentDefinition<TInput, TOutput>): DefinedAgent<TInput, TOutput>;
77
94
  export {};
78
95
  //# sourceMappingURL=agent-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-definition.d.ts","sourceRoot":"","sources":["../src/agent-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAc1C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC;CACxD;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,GAAG,OAAO;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACpC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACzF;AAED,QAAA,MAAM,gBAAgB,eAAgD,CAAC;AAEvE,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG;IACpI,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzI;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,CAIhG;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACpC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAC/D,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EAC/F,OAAO,GAAE,kBAAuB,GAC/B,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAsBjC"}
1
+ {"version":3,"file":"agent-definition.d.ts","sourceRoot":"","sources":["../src/agent-definition.ts"],"names":[],"mappings":"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"}
@@ -72,10 +72,26 @@ export function getAgentDefinition(value) {
72
72
  * builder keeps `runtime: 'inline'` as its default.
73
73
  */
74
74
  export function defineAgent(handler, options = {}) {
75
- // Wrap the handler so that, by default, lite-mode init() calls inherit
76
- // `runtime: 'stateless'` and `sandbox: 'virtual'`. Both are pre-empted
77
- // by anything the caller passes explicitly.
78
- const wrapped = async (context) => {
75
+ return liteAgent({ ...options, run: handler });
76
+ }
77
+ /**
78
+ * `agent({...})` but exported from `@fabric-harness/sdk/lite` so it
79
+ * automatically injects the headless defaults (stateless runtime, virtual
80
+ * sandbox, pi-agent-core loop, compaction-on) into every `init()` call.
81
+ *
82
+ * Same exact `AgentDefinition` shape as `agent()` from the full SDK — so
83
+ * users start with the lite import, and graduate to the full SDK by just
84
+ * swapping the import path. Existing field names (`name`, `input`, `output`,
85
+ * `triggers`, `run`) keep working identically. Add `input`/`output` schemas
86
+ * and `policy` once you're on the full SDK; they're allowed in lite too,
87
+ * they just don't unlock anything that isn't already in the lite surface.
88
+ *
89
+ * The function name is the same — `agent` — in both entry points to make
90
+ * the swap a one-line change. The lite default injection happens at runtime,
91
+ * not in the call shape.
92
+ */
93
+ export function liteAgent(definition) {
94
+ const wrappedRun = async (context) => {
79
95
  const liteContext = {
80
96
  ...context,
81
97
  init: async (init = {}) => context.init({
@@ -86,11 +102,8 @@ export function defineAgent(handler, options = {}) {
86
102
  compaction: init.compaction ?? { enabled: true },
87
103
  }),
88
104
  };
89
- return handler(liteContext);
105
+ return definition.run(liteContext);
90
106
  };
91
- return agent({
92
- ...options,
93
- run: wrapped,
94
- });
107
+ return agent({ ...definition, run: wrappedRun });
95
108
  }
96
109
  //# sourceMappingURL=agent-definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-definition.js","sourceRoot":"","sources":["../src/agent-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-definition.js","sourceRoot":"","sources":["../src/agent-definition.ts"],"names":[],"mappings":"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"}
package/dist/lite.d.ts CHANGED
@@ -25,7 +25,7 @@
25
25
  * ```
26
26
  */
27
27
  export { init, StubFabricAgent } from './agent.js';
28
- export { agent, defineAgent, getAgentDefinition } from './agent-definition.js';
28
+ export { liteAgent as agent, defineAgent, getAgentDefinition } from './agent-definition.js';
29
29
  export { createFabricContext } from './context.js';
30
30
  export { FabricError, isFabricError, toFabricError } from './error.js';
31
31
  export { schema, SchemaValidationError } from './schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC9K,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9G,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EACV,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,IAAI,EACJ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAClJ,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOnD,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC9K,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9G,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EACV,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,IAAI,EACJ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAClJ,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/lite.js CHANGED
@@ -25,7 +25,13 @@
25
25
  * ```
26
26
  */
27
27
  export { init, StubFabricAgent } from './agent.js';
28
- export { agent, defineAgent, getAgentDefinition } from './agent-definition.js';
28
+ // In the lite entrypoint, `agent` is the headless-defaults variant — same
29
+ // `AgentDefinition` shape as the full SDK's `agent({...})`, just with
30
+ // runtime/sandbox/loopRuntime/compaction defaults pre-injected at every
31
+ // init() call. Swap to `@fabric-harness/sdk` to opt out of those defaults
32
+ // without changing the call shape. `defineAgent` stays exported as the
33
+ // historical handler-first shorthand.
34
+ export { liteAgent as agent, defineAgent, getAgentDefinition } from './agent-definition.js';
29
35
  export { createFabricContext } from './context.js';
30
36
  export { FabricError, isFabricError, toFabricError } from './error.js';
31
37
  export { schema, SchemaValidationError } from './schema.js';
package/dist/lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lite.js","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE9K,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"lite.js","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnD,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,sCAAsC;AACtC,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE9K,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
package/dist/types.d.ts CHANGED
@@ -95,10 +95,10 @@ export interface AgentInit {
95
95
  *
96
96
  * Merged at prompt time with any per-call overrides on `PromptOptions`.
97
97
  *
98
- * - **Lite SDK** (`defineAgent`) defaults `enabled: true` so long sessions
99
- * don't fail at the context-window boundary.
100
- * - **Full SDK** (`agent({...})`) defaults to off — production agents
101
- * typically want deterministic context handling and explicit compaction
98
+ * - **Minimal entrypoint / headless shorthand** (`defineAgent`) defaults
99
+ * `enabled: true` so long sessions don't fail at the context-window boundary.
100
+ * - **Complete metadata agents** (`agent({...})`) default to off — production
101
+ * agents typically want deterministic context handling and explicit compaction
102
102
  * behaviour. Opt in by setting `init({ compaction: { enabled: true } })`.
103
103
  */
104
104
  export interface CompactionSettings {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabric-harness/sdk",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Headless TypeScript framework for building durable, deployable autonomous agents — core SDK.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Fabric",