zidane 4.1.9 → 5.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 (54) hide show
  1. package/README.md +11 -2
  2. package/dist/{agent-CMIhYhDz.d.ts → agent-JhicgLOV.d.ts} +78 -4
  3. package/dist/agent-JhicgLOV.d.ts.map +1 -0
  4. package/dist/chat.d.ts +336 -6
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +2 -2
  7. package/dist/{index-DAaKyadO.d.ts → index-2yLUyTbc.d.ts} +34 -4
  8. package/dist/{index-DAaKyadO.d.ts.map → index-2yLUyTbc.d.ts.map} +1 -1
  9. package/dist/{index-D6Dd6Kc0.d.ts → index-t_W9i7Ql.d.ts} +8 -3
  10. package/dist/index-t_W9i7Ql.d.ts.map +1 -0
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +4 -4
  13. package/dist/{interpolate-BydkV1eT.js → interpolate-Ck970-61.js} +9 -2
  14. package/dist/{interpolate-BydkV1eT.js.map → interpolate-Ck970-61.js.map} +1 -1
  15. package/dist/mcp.d.ts +1 -1
  16. package/dist/presets-BRFH2qsQ.js +90 -0
  17. package/dist/presets-BRFH2qsQ.js.map +1 -0
  18. package/dist/presets.d.ts +3 -2
  19. package/dist/presets.js +2 -2
  20. package/dist/providers.d.ts +1 -1
  21. package/dist/session/sqlite.d.ts +1 -1
  22. package/dist/session/sqlite.d.ts.map +1 -1
  23. package/dist/session/sqlite.js +28 -13
  24. package/dist/session/sqlite.js.map +1 -1
  25. package/dist/{session-B1RN0uoi.js → session-791hhrFa.js} +24 -1
  26. package/dist/session-791hhrFa.js.map +1 -0
  27. package/dist/session.d.ts +1 -1
  28. package/dist/session.js +1 -1
  29. package/dist/skills.d.ts +2 -2
  30. package/dist/skills.js +1 -1
  31. package/dist/theme-pJv47erq.d.ts +1202 -0
  32. package/dist/theme-pJv47erq.d.ts.map +1 -0
  33. package/dist/{tools-BdQENveS.js → tools-CLazLRb4.js} +81 -21
  34. package/dist/tools-CLazLRb4.js.map +1 -0
  35. package/dist/tools.d.ts +2 -2
  36. package/dist/tools.js +1 -1
  37. package/dist/tui.d.ts +258 -30
  38. package/dist/tui.d.ts.map +1 -1
  39. package/dist/tui.js +2957 -499
  40. package/dist/tui.js.map +1 -1
  41. package/dist/turn-operations-5aQu4dJg.js +3587 -0
  42. package/dist/turn-operations-5aQu4dJg.js.map +1 -0
  43. package/dist/types.d.ts +2 -2
  44. package/package.json +1 -1
  45. package/dist/agent-CMIhYhDz.d.ts.map +0 -1
  46. package/dist/index-D6Dd6Kc0.d.ts.map +0 -1
  47. package/dist/presets-4zCJzCYw.js +0 -39
  48. package/dist/presets-4zCJzCYw.js.map +0 -1
  49. package/dist/session-B1RN0uoi.js.map +0 -1
  50. package/dist/theme-Caf4AvTO.d.ts +0 -637
  51. package/dist/theme-Caf4AvTO.d.ts.map +0 -1
  52. package/dist/theme-context-DQM2lx4U.js +0 -1853
  53. package/dist/theme-context-DQM2lx4U.js.map +0 -1
  54. package/dist/tools-BdQENveS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-pJv47erq.d.ts","names":[],"sources":["../src/chat/agents.ts","../src/chat/providers.ts","../src/chat/auth.ts","../src/chat/completion.ts","../src/chat/types.ts","../src/chat/store.ts","../src/chat/config.ts","../src/chat/enabled-toggle-set.ts","../src/chat/mcps-discovery.ts","../src/chat/prompt-segments.ts","../src/chat/safe-mode-context.tsx","../src/chat/theme.ts"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { n as createProcessContext } from "./contexts-3Arvn7yR.js";
2
2
  import { r as AgentProviderError, s as toTypedError, t as AgentAbortedError } from "./errors-D1lhd6mX.js";
3
3
  import { t as toolOutputByteLength } from "./types-Bx_F8jet.js";
4
4
  import { t as connectMcpServers } from "./mcp-Dw-fRPVk.js";
5
- import { _ as validateResourcePath, b as createSkillActivationState, d as escapeXml, n as resolveSkills, p as installAllowedToolsGate, t as interpolateShellCommands, u as buildCatalog } from "./interpolate-BydkV1eT.js";
5
+ import { _ as validateResourcePath, b as createSkillActivationState, d as escapeXml, n as resolveSkills, p as installAllowedToolsGate, t as interpolateShellCommands, u as buildCatalog } from "./interpolate-Ck970-61.js";
6
6
  import { n as formatTokenUsage, t as flattenTurns } from "./stats-DZIsGqzu.js";
7
7
  import { createHooks } from "hookable";
8
8
  import { stat } from "node:fs/promises";
@@ -1996,10 +1996,43 @@ function installLazyDisclosureGate(hooks, lazyCanonicalNames, unlocked, discover
1996
1996
  ctx.reason = discoveryToolName ? `Tool "${ctx.name}" is listed in <searchable_tools> but its schema has not been loaded. Call the \`${discoveryToolName}\` tool with names: ["${ctx.name}"] first, then re-issue the call.` : `Tool "${ctx.name}" is listed in <searchable_tools> but its schema has not been loaded.`;
1997
1997
  });
1998
1998
  }
1999
- function createAgent({ provider, name: agentName, system: agentSystem, tools: agentTools, toolAliases, behavior: agentBehavior, execution, mcpServers, session, skills: agentSkills, mcpConnector, eager }) {
1999
+ /**
2000
+ * Pick the next safe value for `runCounter` so `run_${++counter}` mints
2001
+ * an id that doesn't collide with any runId already referenced by the
2002
+ * session — whether the runId lives in `session.runs` or only in
2003
+ * `session.turns[].runId`. The regex matches the canonical `run_<int>`
2004
+ * shape minted by this module; any caller-supplied custom id schemes
2005
+ * are ignored (they don't conflict with `run_N`).
2006
+ *
2007
+ * Returning 0 for a sessionless / clean session preserves the original
2008
+ * "first run is run_1" semantics.
2009
+ */
2010
+ function initialRunCounter(session) {
2011
+ if (!session) return 0;
2012
+ let max = 0;
2013
+ const consider = (id) => {
2014
+ if (!id) return;
2015
+ const m = /^run_(\d+)$/.exec(id);
2016
+ if (!m) return;
2017
+ const n = Number.parseInt(m[1], 10);
2018
+ if (Number.isFinite(n) && n > max) max = n;
2019
+ };
2020
+ for (const r of session.runs) consider(r.id);
2021
+ for (const t of session.turns) consider(t.runId);
2022
+ return max;
2023
+ }
2024
+ function createAgent({ provider, name: agentName, system: agentSystem, tools: agentTools, toolAliases, behavior: agentBehavior, execution, mcpServers, session, skills: agentSkills, mcpConnector, eager, hooks: initialHooks }) {
2000
2025
  const hooks = createHooks();
2001
2026
  const executionContext = execution ?? createProcessContext();
2002
2027
  const sourceTools = agentTools ?? {};
2028
+ if (initialHooks) for (const [event, handler] of Object.entries(initialHooks)) {
2029
+ if (!isKnownHookEvent(event)) throw new Error(`Unknown hook event "${event}" passed to createAgent(). See AgentHooks for valid events.`);
2030
+ const handlerList = Array.isArray(handler) ? handler : [handler];
2031
+ for (const fn of handlerList) {
2032
+ if (typeof fn !== "function") continue;
2033
+ hooks.hook(event, fn);
2034
+ }
2035
+ }
2003
2036
  let abortController;
2004
2037
  let running = false;
2005
2038
  let idleResolve;
@@ -2011,13 +2044,47 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2011
2044
  const steeringQueue = [];
2012
2045
  const followUpQueue = [];
2013
2046
  let conversationTurns = session?.turns.slice() ?? [];
2014
- let runCounter = session?.runs.length ?? 0;
2047
+ let runCounter = initialRunCounter(session);
2015
2048
  const skillsConfig = agentSkills;
2016
2049
  const skillsEnabledValue = skillsConfig?.enabled;
2017
2050
  const skillsDisabled = skillsEnabledValue === false || Array.isArray(skillsEnabledValue) && skillsEnabledValue.length === 0;
2018
2051
  let resolvedSkills = null;
2019
2052
  let skillsCatalog = null;
2053
+ let skillsResolvePromise = null;
2020
2054
  let skillsCleanup = () => {};
2055
+ /**
2056
+ * Resolve skills once for the lifetime of the agent. Idempotent and
2057
+ * concurrency-safe; no-op when `skills` is disabled or omitted.
2058
+ *
2059
+ * Used by `run()` (lazy bootstrap), `warmup()` (eager bootstrap), and
2060
+ * `activateSkill()` (so the public API doesn't leak the timing of `run()`).
2061
+ * Fires `skills:resolve` (mutable `skills` array) and `skills:catalog`
2062
+ * (mutable `catalog`) in that order — exactly once per agent.
2063
+ */
2064
+ async function ensureSkillsResolved() {
2065
+ if (skillsDisabled || !skillsConfig) return;
2066
+ if (resolvedSkills) return;
2067
+ if (skillsResolvePromise) return skillsResolvePromise;
2068
+ skillsResolvePromise = (async () => {
2069
+ const bundle = await resolveSkills(skillsConfig);
2070
+ resolvedSkills = bundle.skills;
2071
+ skillsCleanup = bundle.cleanup;
2072
+ await hooks.callHook("skills:resolve", { skills: resolvedSkills });
2073
+ const skillsToolRegistered = skillsConfig.tool !== false && resolvedSkills.length > 0;
2074
+ const catalogCtx = {
2075
+ catalog: buildCatalog(resolvedSkills, { skillsToolRegistered }),
2076
+ skills: resolvedSkills
2077
+ };
2078
+ await hooks.callHook("skills:catalog", catalogCtx);
2079
+ skillsCatalog = catalogCtx.catalog;
2080
+ })();
2081
+ try {
2082
+ await skillsResolvePromise;
2083
+ } catch (err) {
2084
+ skillsResolvePromise = null;
2085
+ throw err;
2086
+ }
2087
+ }
2021
2088
  const skillActivationState = createSkillActivationState({ maxActive: skillsConfig?.maxActive });
2022
2089
  async function run(options) {
2023
2090
  if (running) throw new Error("Agent is already running. Use steer() or followUp() to queue messages, or waitForIdle().");
@@ -2069,19 +2136,7 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2069
2136
  }
2070
2137
  if (!executionHandle) executionHandle = await executionContext.spawn();
2071
2138
  if (allMcpServers.length > 0 && !mcpConnection) await warmup();
2072
- if (!skillsDisabled && skillsConfig && !resolvedSkills) {
2073
- const bundle = await resolveSkills(skillsConfig);
2074
- resolvedSkills = bundle.skills;
2075
- skillsCleanup = bundle.cleanup;
2076
- await hooks.callHook("skills:resolve", { skills: resolvedSkills });
2077
- const skillsToolRegistered = skillsConfig?.tool !== false && resolvedSkills.length > 0;
2078
- const catalogCtx = {
2079
- catalog: buildCatalog(resolvedSkills, { skillsToolRegistered }),
2080
- skills: resolvedSkills
2081
- };
2082
- await hooks.callHook("skills:catalog", catalogCtx);
2083
- skillsCatalog = catalogCtx.catalog;
2084
- }
2139
+ await ensureSkillsResolved();
2085
2140
  if (resolvedSkills && session && session.turns.length > 0 && skillActivationState.active().length === 0) {
2086
2141
  const skillsByName = new Map(resolvedSkills.map((s) => [s.name, s]));
2087
2142
  for (const turn of session.turns) {
@@ -2406,7 +2461,8 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2406
2461
  });
2407
2462
  }
2408
2463
  async function activateSkill(name) {
2409
- if (!resolvedSkills) throw new Error(`Cannot activate skill "${name}" — skills have not been resolved yet. Call activateSkill after the first \`run()\`, or pass a skills config that resolves at agent-creation time.`);
2464
+ await ensureSkillsResolved();
2465
+ if (!resolvedSkills) throw new Error(`Cannot activate skill "${name}" — skills are disabled for this agent.`);
2410
2466
  const skill = resolvedSkills.find((s) => s.name === name);
2411
2467
  if (!skill) {
2412
2468
  const available = resolvedSkills.map((s) => s.name).join(", ") || "<none>";
@@ -2452,8 +2508,7 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2452
2508
  * retry — leaving a rejected promise cached would permanently poison future
2453
2509
  * runs on the same agent.
2454
2510
  */
2455
- async function warmup() {
2456
- if (destroyed) return;
2511
+ async function ensureMcpConnected() {
2457
2512
  if (mcpConnection || allMcpServers.length === 0) return;
2458
2513
  if (mcpWarmupPromise) return mcpWarmupPromise;
2459
2514
  mcpWarmupPromise = (async () => {
@@ -2471,6 +2526,10 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2471
2526
  throw err;
2472
2527
  }
2473
2528
  }
2529
+ async function warmup() {
2530
+ if (destroyed) return;
2531
+ await Promise.all([ensureMcpConnected(), ensureSkillsResolved()]);
2532
+ }
2474
2533
  async function destroy() {
2475
2534
  if (destroyed) return;
2476
2535
  destroyed = true;
@@ -2488,7 +2547,8 @@ function createAgent({ provider, name: agentName, system: agentSystem, tools: ag
2488
2547
  skillsCleanup();
2489
2548
  skillsCleanup = () => {};
2490
2549
  }
2491
- if (eager && allMcpServers.length > 0) warmup().catch(() => {});
2550
+ const eagerHasWork = allMcpServers.length > 0 || !skillsDisabled && !!skillsConfig;
2551
+ if (eager && eagerHasWork) warmup().catch(() => {});
2492
2552
  return {
2493
2553
  hooks,
2494
2554
  run,
@@ -4085,4 +4145,4 @@ const writeFile$1 = {
4085
4145
  //#endregion
4086
4146
  export { multiEdit as a, grep as c, createAgent as d, createToolSearchTool as f, validateToolArgs as g, createSkillsReadTool as h, readFile$1 as i, glob as l, createSkillsRunScriptTool as m, createSpawnTool as n, listFiles as o, createSkillsUseTool as p, shell as r, createInteractionTool as s, writeFile$1 as t, edit as u };
4087
4147
 
4088
- //# sourceMappingURL=tools-BdQENveS.js.map
4148
+ //# sourceMappingURL=tools-CLazLRb4.js.map