@lloyal-labs/lloyal-agents 2.1.0 → 3.0.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.
Files changed (70) hide show
  1. package/LICENSE +107 -0
  2. package/LICENSE-FAQ.md +256 -0
  3. package/README.md +17 -1
  4. package/dist/Agent.d.ts +13 -2
  5. package/dist/Agent.d.ts.map +1 -1
  6. package/dist/Agent.js +10 -0
  7. package/dist/Agent.js.map +1 -1
  8. package/dist/AgentPolicy.d.ts +84 -7
  9. package/dist/AgentPolicy.d.ts.map +1 -1
  10. package/dist/AgentPolicy.js +32 -4
  11. package/dist/AgentPolicy.js.map +1 -1
  12. package/dist/Tool.d.ts +44 -0
  13. package/dist/Tool.d.ts.map +1 -1
  14. package/dist/Tool.js +49 -1
  15. package/dist/Tool.js.map +1 -1
  16. package/dist/agent-pool.d.ts.map +1 -1
  17. package/dist/agent-pool.js +187 -16
  18. package/dist/agent-pool.js.map +1 -1
  19. package/dist/app-config.d.ts +50 -0
  20. package/dist/app-config.d.ts.map +1 -0
  21. package/dist/app-config.js +27 -0
  22. package/dist/app-config.js.map +1 -0
  23. package/dist/app-types.d.ts +309 -0
  24. package/dist/app-types.d.ts.map +1 -0
  25. package/dist/app-types.js +28 -0
  26. package/dist/app-types.js.map +1 -0
  27. package/dist/chunk.d.ts +118 -0
  28. package/dist/chunk.d.ts.map +1 -0
  29. package/dist/chunk.js +19 -0
  30. package/dist/chunk.js.map +1 -0
  31. package/dist/context.d.ts +68 -12
  32. package/dist/context.d.ts.map +1 -1
  33. package/dist/context.js +64 -12
  34. package/dist/context.js.map +1 -1
  35. package/dist/create-agent-pool.d.ts +10 -4
  36. package/dist/create-agent-pool.d.ts.map +1 -1
  37. package/dist/create-agent-pool.js +7 -6
  38. package/dist/create-agent-pool.js.map +1 -1
  39. package/dist/grant-store.d.ts +49 -0
  40. package/dist/grant-store.d.ts.map +1 -0
  41. package/dist/grant-store.js +33 -0
  42. package/dist/grant-store.js.map +1 -0
  43. package/dist/index.d.ts +7 -3
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +6 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/orchestrators.d.ts +7 -0
  48. package/dist/orchestrators.d.ts.map +1 -1
  49. package/dist/orchestrators.js.map +1 -1
  50. package/dist/source.d.ts +31 -1
  51. package/dist/source.d.ts.map +1 -1
  52. package/dist/source.js +32 -2
  53. package/dist/source.js.map +1 -1
  54. package/dist/spine.d.ts +0 -6
  55. package/dist/spine.d.ts.map +1 -1
  56. package/dist/spine.js +18 -2
  57. package/dist/spine.js.map +1 -1
  58. package/dist/toolkit.d.ts +44 -17
  59. package/dist/toolkit.d.ts.map +1 -1
  60. package/dist/toolkit.js +24 -14
  61. package/dist/toolkit.js.map +1 -1
  62. package/dist/trace-types.d.ts +34 -2
  63. package/dist/trace-types.d.ts.map +1 -1
  64. package/dist/types.d.ts +27 -2
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/use-agent.d.ts +9 -4
  67. package/dist/use-agent.d.ts.map +1 -1
  68. package/dist/use-agent.js +15 -12
  69. package/dist/use-agent.js.map +1 -1
  70. package/package.json +7 -5
package/dist/use-agent.js CHANGED
@@ -32,8 +32,8 @@ const orchestrators_1 = require("./orchestrators");
32
32
  * const agent = yield* useAgent({
33
33
  * systemPrompt: "You are a research assistant.",
34
34
  * task: "Find information about X",
35
- * tools: [searchTool, reportTool],
36
- * terminalToolName: 'report',
35
+ * tools: [searchTool],
36
+ * terminal: reportTool,
37
37
  * });
38
38
  * // agent.result — findings
39
39
  * // agent.branch — alive, can fork from
@@ -46,10 +46,10 @@ function useAgent(opts) {
46
46
  const ctx = yield* context_1.Ctx.expect();
47
47
  const broadcast = yield* context_1.Events.expect();
48
48
  const tw = yield* context_1.Trace.expect();
49
- const toolkit = (0, toolkit_1.createToolkit)(opts.tools ?? []);
49
+ const toolkit = (0, toolkit_1.createToolkit)(opts.tools ?? [], opts.terminal);
50
50
  const warmParent = opts.parent ?? opts.session?.trunk ?? undefined;
51
51
  const scope = (0, trace_scope_1.traceScope)(tw, null, 'useAgent', {
52
- hasTools: !!(opts.tools?.length),
52
+ hasTools: toolkit.tools.length > 0,
53
53
  hasParent: !!warmParent,
54
54
  });
55
55
  // Create root — ensure() for resource lifetime (not withSpine's try/finally).
@@ -65,25 +65,28 @@ function useAgent(opts) {
65
65
  if (prefillTokens.length > 0) {
66
66
  yield* (0, effection_1.call)(() => root.prefill(prefillTokens));
67
67
  }
68
- // Eager grammar from schema set on root before fork.
69
- // Fork inherits grammar state. formatChatSync returns no grammar for
70
- // no-tools case, so applyLazyGrammar is a no-op and the inherited
71
- // eager grammar persists on the forked agent branch.
68
+ // Eager grammar from schema. Compile here, but apply it on the GENERATING
69
+ // branch via the pool (eagerGrammar below), not on root — setting it on
70
+ // root and relying on fork-inheritance didn't survive to the branch that
71
+ // decodes, so the agent free-ran (e.g. the planner emitting ```json fences
72
+ // / dropping required fields). The pool sets it in applyLazyGrammar, after
73
+ // the suffix prefill, the same seam tool grammar uses.
74
+ let eagerGrammar;
72
75
  if (opts.schema) {
73
- const grammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(opts.schema)));
74
- root.setGrammar(grammar);
76
+ eagerGrammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(opts.schema)));
75
77
  }
76
78
  // Delegate to useAgentPool N=1 via a trivial parallel orchestrator
77
- const hasTools = !!(opts.tools?.length);
79
+ const hasTools = toolkit.tools.length > 0;
78
80
  const sub = yield* (0, agent_pool_1.useAgentPool)({
79
81
  spine: root,
80
82
  orchestrate: (0, orchestrators_1.parallel)([{ content: opts.task, systemPrompt: opts.systemPrompt }]),
81
83
  toolsJson: hasTools ? toolkit.toolsJson : '',
82
84
  tools: toolkit.toolMap,
83
- terminalToolName: opts.terminalToolName,
85
+ terminalToolName: toolkit.terminalName,
84
86
  maxTurns: opts.maxTurns,
85
87
  policy: opts.policy,
86
88
  trace: opts.trace,
89
+ eagerGrammar,
87
90
  });
88
91
  // Drain Subscription inline — forward to broadcast
89
92
  let next = yield* sub.next();
@@ -1 +1 @@
1
- {"version":3,"file":"use-agent.js","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-agent.js","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lloyal-labs/lloyal-agents",
3
- "version": "2.1.0",
4
- "description": "Multi-agent inference inside the decode loop structured concurrency over shared KV state",
3
+ "version": "3.0.0",
4
+ "description": "Multi-agent inference inside the decode loop \u2014 structured concurrency over shared KV state",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "publishConfig": {
@@ -25,17 +25,19 @@
25
25
  "effection",
26
26
  "llama.cpp"
27
27
  ],
28
- "license": "Apache-2.0",
28
+ "license": "SEE LICENSE IN LICENSE",
29
29
  "type": "commonjs",
30
30
  "scripts": {
31
31
  "build": "tsc -b"
32
32
  },
33
33
  "dependencies": {
34
- "@lloyal-labs/sdk": "^2.1.0",
34
+ "@lloyal-labs/sdk": "^3.0.0",
35
35
  "effection": "^4.0.2",
36
36
  "eta": "^4.5.1"
37
37
  },
38
38
  "files": [
39
- "dist/"
39
+ "dist/",
40
+ "LICENSE",
41
+ "LICENSE-FAQ.md"
40
42
  ]
41
43
  }