zidane 5.4.2 → 5.4.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.
Files changed (65) hide show
  1. package/README.md +15 -0
  2. package/dist/{agent-DxBoKDba.d.ts → agent-Yu8uhpy-.d.ts} +74 -3
  3. package/dist/{agent-DxBoKDba.d.ts.map → agent-Yu8uhpy-.d.ts.map} +1 -1
  4. package/dist/chat.d.ts +49 -6
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +2 -2
  7. package/dist/{errors-Byb0F8B9.js → errors-CDwtPIMX.js} +4 -2
  8. package/dist/{errors-Byb0F8B9.js.map → errors-CDwtPIMX.js.map} +1 -1
  9. package/dist/{index-BOtXdQkW.d.ts → index-DklfxeYy.d.ts} +8 -2
  10. package/dist/index-DklfxeYy.d.ts.map +1 -0
  11. package/dist/{index-B2VOOijU.d.ts → index-j9tY28ah.d.ts} +16 -3
  12. package/dist/index-j9tY28ah.d.ts.map +1 -0
  13. package/dist/index.d.ts +4 -4
  14. package/dist/index.js +10 -10
  15. package/dist/{interpolate-ERgZUxgg.js → interpolate-CmtjEyRJ.js} +155 -18
  16. package/dist/interpolate-CmtjEyRJ.js.map +1 -0
  17. package/dist/{login-CJbeAadS.js → login-DxyAERe1.js} +3 -3
  18. package/dist/{login-CJbeAadS.js.map → login-DxyAERe1.js.map} +1 -1
  19. package/dist/{mcp-DhmmJfxK.js → mcp-CNUbvbsy.js} +2 -2
  20. package/dist/{mcp-DhmmJfxK.js.map → mcp-CNUbvbsy.js.map} +1 -1
  21. package/dist/mcp.d.ts +1 -1
  22. package/dist/mcp.js +1 -1
  23. package/dist/{messages-D0xT979U.js → messages-fTR19Ga6.js} +2 -2
  24. package/dist/{messages-D0xT979U.js.map → messages-fTR19Ga6.js.map} +1 -1
  25. package/dist/{presets-MCcvxiNT.js → presets-D9IbaI40.js} +2 -2
  26. package/dist/{presets-MCcvxiNT.js.map → presets-D9IbaI40.js.map} +1 -1
  27. package/dist/presets.d.ts +2 -2
  28. package/dist/presets.js +1 -1
  29. package/dist/{providers-x3LZByR5.js → providers-CEzRFYtS.js} +3 -3
  30. package/dist/{providers-x3LZByR5.js.map → providers-CEzRFYtS.js.map} +1 -1
  31. package/dist/providers.d.ts +1 -1
  32. package/dist/providers.js +2 -2
  33. package/dist/session/sqlite.d.ts +1 -1
  34. package/dist/session/sqlite.js +1 -1
  35. package/dist/{session-BHZwxmfr.js → session-kwsNnOmt.js} +2 -2
  36. package/dist/{session-BHZwxmfr.js.map → session-kwsNnOmt.js.map} +1 -1
  37. package/dist/session.d.ts +1 -1
  38. package/dist/session.js +2 -2
  39. package/dist/skills.d.ts +2 -2
  40. package/dist/skills.js +1 -1
  41. package/dist/{tools-BNfyY14s.js → tools-BK2vG9UX.js} +149 -32
  42. package/dist/tools-BK2vG9UX.js.map +1 -0
  43. package/dist/tools.d.ts +2 -2
  44. package/dist/tools.js +1 -1
  45. package/dist/{transcript-anchors-DonKvoh4.d.ts → transcript-anchors-DnaBcJej.d.ts} +52 -8
  46. package/dist/transcript-anchors-DnaBcJej.d.ts.map +1 -0
  47. package/dist/tui.d.ts +4 -2
  48. package/dist/tui.d.ts.map +1 -1
  49. package/dist/tui.js +651 -42
  50. package/dist/tui.js.map +1 -1
  51. package/dist/{turn-operations-TKvy0q29.js → turn-operations-OzKEOXul.js} +240 -52
  52. package/dist/turn-operations-OzKEOXul.js.map +1 -0
  53. package/dist/types.d.ts +2 -2
  54. package/dist/types.js +1 -1
  55. package/docs/ARCHITECTURE.md +16 -3
  56. package/docs/CHAT.md +1 -1
  57. package/docs/SKILL.md +24 -14
  58. package/docs/TUI.md +24 -0
  59. package/package.json +3 -3
  60. package/dist/index-B2VOOijU.d.ts.map +0 -1
  61. package/dist/index-BOtXdQkW.d.ts.map +0 -1
  62. package/dist/interpolate-ERgZUxgg.js.map +0 -1
  63. package/dist/tools-BNfyY14s.js.map +0 -1
  64. package/dist/transcript-anchors-DonKvoh4.d.ts.map +0 -1
  65. package/dist/turn-operations-TKvy0q29.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { a as ExecutionHandle, i as ExecutionContext } from "./types-Ce78ds4h.js";
2
- import { A as SkillSource, D as SkillConfig, O as SkillDiagnostic, j as SkillsConfig, l as SkillActivationState, r as AgentHooks } from "./agent-DxBoKDba.js";
2
+ import { A as SkillSource, D as SkillConfig, O as SkillDiagnostic, j as SkillsConfig, l as SkillActivationState, r as AgentHooks } from "./agent-Yu8uhpy-.js";
3
3
  import { Hookable } from "hookable";
4
4
 
5
5
  //#region src/skills/allowed-tools.d.ts
@@ -49,6 +49,12 @@ interface ParsedSkillFile {
49
49
  * - Flat key: value pairs
50
50
  * - Quoted values
51
51
  * - One-level nested maps (for `metadata:`)
52
+ * - One-level nested block lists, `key:` followed by indented `- item`
53
+ * lines (for `allowed-tools` and any future array fields). Items are
54
+ * unquoted with the same rules as scalar values.
55
+ * - Flow-style scalars are preserved verbatim — interpretation (e.g.
56
+ * `[a, b]` as a list) is left to per-field consumers via
57
+ * {@link takeStringOrArray}.
52
58
  * - Lenient recovery from unquoted-colon values (e.g.
53
59
  * `description: Use when: the user asks …`) via a quote-wrap retry.
54
60
  */
@@ -256,4 +262,4 @@ declare function defineSkill(config: Omit<SkillConfig, 'source'> & {
256
262
  }): SkillConfig;
257
263
  //#endregion
258
264
  export { installAllowedToolsGate as S, inferSource as _, SkillValidationResult as a, buildCatalog as b, parseAllowedToolPattern as c, validateSkillName as d, resolveSkills as f, getDefaultScanPaths as g, discoverSkills as h, SkillValidationIssue as i, validateResourcePath as l, SourcedScanPath as m, writeSkillToDisk as n, isToolAllowedByUnion as o, interpolateShellCommands as p, writeSkillsToDisk as r, matchesAllowedTool as s, defineSkill as t, validateSkillForWrite as u, parseFrontmatter as v, IMPLICITLY_ALLOWED_SKILL_TOOLS as x, parseSkillFile as y };
259
- //# sourceMappingURL=index-BOtXdQkW.d.ts.map
265
+ //# sourceMappingURL=index-DklfxeYy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DklfxeYy.d.ts","names":[],"sources":["../src/skills/allowed-tools.ts","../src/skills/catalog.ts","../src/skills/discovery.ts","../src/skills/interpolate.ts","../src/skills/resolve.ts","../src/skills/validate.ts","../src/skills/writer.ts","../src/skills/index.ts"],"mappings":";;;;;;cAuBa,8BAAA;;;;;;;;;;ACHb;iBDmBgB,uBAAA,CACd,KAAA,EAAO,QAAA,CAAS,UAAA,GAChB,KAAA,EAAO,oBAAA;;;UCrBQ,mBAAA;EDoBR;;;;;ECdP,oBAAA;EDe2B;;;;ECV3B,YAAA;AAAA;;;;iBAMc,YAAA,CACd,MAAA,EAAQ,WAAA,IACR,OAAA,GAAS,mBAAA;;;UC4ED,eAAA;EACR,WAAA,EAAa,MAAA;EACb,IAAA;EACA,WAAA,EAAa,eAAA;AAAA;;;;;;;;;;;;ADlGf;;;;;iBCqHgB,gBAAA,CAAiB,OAAA,WAAkB,eAAA;AAAA,UAuUzC,iBAAA;;EAER,MAAA,GAAS,WAAA;AAAA;;;;;;;;;AAtc4E;;;iBAodjE,cAAA,CACpB,QAAA,UACA,OAAA,GAAS,iBAAA,GACR,OAAA,CAAQ,WAAA;;UAqNM,eAAA;EACf,IAAA;EACA,MAAA,EAAQ,WAAA;AAAA;;;AAjjBV;;;iBAyjBgB,mBAAA,CAAA,GAAuB,eAAA;;AAxctC;;;iBAyde,WAAA,CAAY,IAAA,WAAe,WAAA;;AAnP3C;;;;;;;;;iBAqQsB,cAAA,CACpB,KAAA,EAAO,eAAA,IACP,MAAA,GAAS,WAAA,GACR,OAAA,CAAQ,WAAA;;;;;;;;;;;;;;;iBC1sBW,wBAAA,CACpB,YAAA,UACA,SAAA,EAAW,gBAAA,EACX,MAAA,EAAQ,eAAA,GACP,OAAA;;;AHXH;;;;;AAgBA;;;;AAhBA,UIGiB,oBAAA;EACf,MAAA,EAAQ,WAAA;EACR,OAAA;AAAA;;;;;;;;;;;AHRF;;;iBGwBsB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,oBAAA;;;;;;AJLnE;;UKCiB,oBAAA;ELAC;EKEhB,IAAA;ELDO;EKGP,OAAA;ELH2B;EKK3B,KAAA;AAAA;AAAA,UAGe,qBAAA;EACf,KAAA;EACA,MAAA,EAAQ,oBAAA;AAAA;;;;;AJ/BV;;;;;AAiBA;iBI+BgB,iBAAA,CAAkB,IAAA;;;;;;iBAmBlB,qBAAA,CAAsB,KAAA,EAAO,WAAA,GAAc,qBAAA;;;;;;AH3E4B;;;;;;iBGiLvE,oBAAA,CACd,OAAA,UACA,OAAA;EACG,KAAA;EAAa,YAAA;AAAA;EAA2B,KAAA;EAAc,KAAA;AAAA;;;;AH0D1D;;;;iBGXe,uBAAA,CAAwB,KAAA;EAAkB,IAAA;EAAc,SAAA;AAAA;;;;;;;;;;;;;AHycxE;;iBG5agB,kBAAA,CACd,WAAA,UACA,KAAA,EAAO,MAAA,mBACP,OAAA;;;;;;iBAyBc,oBAAA,CACd,WAAA,UACA,KAAA,EAAO,MAAA,mBACP,KAAA;;;;;;ALpQF;;;;;iBM8BgB,gBAAA,CAAiB,KAAA,EAAO,WAAA,EAAa,SAAA;;;;;;iBAoCrC,iBAAA,CAAkB,MAAA,EAAQ,WAAA,IAAe,SAAA;;;;;;;;;iBCnDzC,WAAA,CAAY,MAAA,EAAQ,IAAA,CAAK,WAAA;EAA2B,MAAA,GAAS,WAAA;AAAA,IAA0B,WAAA"}
@@ -1,5 +1,5 @@
1
1
  import { a as ExecutionHandle, i as ExecutionContext } from "./types-Ce78ds4h.js";
2
- import { $t as ThinkingLevel, D as SkillConfig, Ft as AgentStats, It as ChildRunStats, Lt as McpServerConfig, N as Session, Xt as SessionTurn, an as TurnUsage, i as AgentOptions, l as SkillActivationState, ot as Provider, r as AgentHooks, s as ActiveSkill, tn as ToolResultContent, v as ToolContext, y as ToolDef } from "./agent-DxBoKDba.js";
2
+ import { $t as ThinkingLevel, D as SkillConfig, Ft as AgentStats, It as ChildRunStats, Lt as McpServerConfig, N as Session, Xt as SessionTurn, an as TurnUsage, i as AgentOptions, l as SkillActivationState, ot as Provider, r as AgentHooks, s as ActiveSkill, tn as ToolResultContent, v as ToolContext, y as ToolDef } from "./agent-Yu8uhpy-.js";
3
3
  import { Hookable } from "hookable";
4
4
  import { OAuthClientProvider, OAuthDiscoveryState } from "@modelcontextprotocol/sdk/client/auth.js";
5
5
  import { OAuthClientInformationMixed, OAuthClientMetadata, OAuthTokens } from "@modelcontextprotocol/sdk/shared/auth.js";
@@ -623,6 +623,19 @@ declare const INTERRUPT_MESSAGE_FOR_TOOL_USE = "[Request interrupted by user for
623
623
  * cancelled" from "framework superseded".
624
624
  */
625
625
  declare const TOOL_USE_SKIPPED_MESSAGE = "[Tool use skipped \u2014 superseded by user message]";
626
+ /**
627
+ * Canonical tool_result text emitted when a single tool call is cancelled
628
+ * mid-flight via `agent.cancelTool(callId)` (typically the TUI's
629
+ * "cancel this tool" affordance). Distinguished from
630
+ * {@link INTERRUPT_MESSAGE_FOR_TOOL_USE} (run-wide user abort) and
631
+ * {@link TOOL_USE_SKIPPED_MESSAGE} (steered) so the model — and downstream
632
+ * consumers — can tell the three apart by string match.
633
+ *
634
+ * Always paired with `isError: true` on the wire so the model treats the
635
+ * call as failed rather than as a successful response. The remaining tool
636
+ * calls in the batch continue running, in contrast with a full-run abort.
637
+ */
638
+ declare const TOOL_USE_CANCELLED_MESSAGE = "[Tool call cancelled by user]";
626
639
  /**
627
640
  * Canonical `tool_result.content` text emitted to siblings that were
628
641
  * cancelled by a `shell` error in the same batch. Distinct from
@@ -1824,5 +1837,5 @@ declare function definePreset(config: Preset): Preset;
1824
1837
  */
1825
1838
  declare function composePresets(...presets: Preset[]): Preset;
1826
1839
  //#endregion
1827
- export { Histogram as $, CompactResult as $t, shell as A, TOOL_USE_SKIPPED_MESSAGE as At, flattenTurns as B, createLoggingHooks as Bt, createSpawnTool as C, PersistOutcome as Ct, createSkillsRunScriptTool as D, resolvePersistDir as Dt, SkillsRunScriptToolOptions as E, maybePersistToolResult as Et, createInteractionTool as F, Logger as Ft, RunSummaryByModel as G, PostCompactAttachments as Gt, RunSummary as H, BYTES_PER_TOKEN as Ht, grep as I, LoggingHookSet as It, RunSummaryError as J, buildPostCompactAttachments as Jt, RunSummaryCollector as K, PostCompactRestoreOptions as Kt, glob as L, LoggingHooksOptions as Lt, multiEdit as M, LogLevel as Mt, listFiles as N, LogRecord as Nt, SkillsReadToolOptions as O, INTERRUPT_MESSAGE_FOR_TOOL_USE as Ot, InteractionToolOptions as P, LogSink as Pt, Counter as Q, CompactOptions as Qt, edit as R, consoleSink as Rt, SpawnToolState as S, truncateHeadForPtlRetry as Sn, PersistInput as St, createSkillsUseTool as T, cleanupPersistedSession as Tt, RunSummaryBlock as U, estimateTokens as Ut, statsByModel as V, jsonSink as Vt, RunSummaryBudget as W, utf8ByteLength as Wt, RunSummaryValidation as X, selectFilesFromSession as Xt, RunSummaryTokens as Y, selectFilesFromReadState as Yt, createRunSummaryCollector as Z, selectRecentFiles as Zt, LazyToolEntry as _, SummaryToTurnInput as _n, McpOAuthProviderOptions as _t, basicTools as a, CompactPromptBuilder as an, UpDownCounter as at, ChildAgent as b, stripImagesFromTurns as bn, PERSISTED_STUB_PREFIX as bt, Span as c, TRAILER as cn, OAuthCallbackOptions as ct, TracingHookSet as d, buildFullCompactPrompt as dn, LoginMcpServerOptions as dt, compactConversation as en, InstrumentOptions as et, TracingHooksOptions as f, buildTailCompactPrompt as fn, LoginMcpServerResult as ft, validateToolArgs as g, CompactionSlice as gn, McpOAuthProvider as gt, ValidationResult as h, CompactScope as hn, McpCredentialStore as ht, _default as i, CompactDirection as in, MetricsHooksOptions as it, readFile as j, ConsoleSinkOptions as jt, createSkillsReadTool as k, SHELL_CASCADE_CANCEL_MESSAGE as kt, StartSpan as l, buildCompactPrompt as ln, OAuthCallbackResult as lt, writeFile as m, ANCHOR_PREVIEW_MAX_CHARS as mn, McpCredentialEntry as mt, composePresets as n, CompactPromptTooLongError as nn, MetricAttributes as nt, zodToJsonSchema as o, CompactPromptOptions as on, createMetricsHooks as ot, createTracingHooks as p, buildUpToCompactPrompt as pn, loginMcpServer as pt, RunSummaryCollectorOptions as q, RecentFile as qt, definePreset as r, BASE_INSTRUCTIONS as rn, MetricsHookSet as rt, GEN_AI_ATTRIBUTES as s, NO_TOOLS_PREAMBLE as sn, OAuthCallbackHandle as st, Preset as t, CompactInvalidInputError as tn, Meter as tt, TracingConventions as u, buildFromCompactPrompt as un, startOAuthCallback as ut, ToolSearchToolOptions as v, anchorPreviewFor as vn, createMemoryMcpCredentialStore as vt, SkillsUseToolOptions as w, buildPersistedStub as wt, SpawnToolOptions as x, summaryToTurn as xn, PERSISTENCE_PREVIEW_BYTES as xt, createToolSearchTool as y, sliceForCompaction as yn, hasAuthorizationHeader as yt, ModelUsage as z, createLogger as zt };
1828
- //# sourceMappingURL=index-B2VOOijU.d.ts.map
1840
+ export { Histogram as $, CompactOptions as $t, shell as A, TOOL_USE_CANCELLED_MESSAGE as At, flattenTurns as B, createLogger as Bt, createSpawnTool as C, truncateHeadForPtlRetry as Cn, PersistOutcome as Ct, createSkillsRunScriptTool as D, resolvePersistDir as Dt, SkillsRunScriptToolOptions as E, maybePersistToolResult as Et, createInteractionTool as F, LogSink as Ft, RunSummaryByModel as G, utf8ByteLength as Gt, RunSummary as H, jsonSink as Ht, grep as I, Logger as It, RunSummaryError as J, RecentFile as Jt, RunSummaryCollector as K, PostCompactAttachments as Kt, glob as L, LoggingHookSet as Lt, multiEdit as M, ConsoleSinkOptions as Mt, listFiles as N, LogLevel as Nt, SkillsReadToolOptions as O, INTERRUPT_MESSAGE_FOR_TOOL_USE as Ot, InteractionToolOptions as P, LogRecord as Pt, Counter as Q, selectRecentFiles as Qt, edit as R, LoggingHooksOptions as Rt, SpawnToolState as S, summaryToTurn as Sn, PersistInput as St, createSkillsUseTool as T, cleanupPersistedSession as Tt, RunSummaryBlock as U, BYTES_PER_TOKEN as Ut, statsByModel as V, createLoggingHooks as Vt, RunSummaryBudget as W, estimateTokens as Wt, RunSummaryValidation as X, selectFilesFromReadState as Xt, RunSummaryTokens as Y, buildPostCompactAttachments as Yt, createRunSummaryCollector as Z, selectFilesFromSession as Zt, LazyToolEntry as _, CompactionSlice as _n, McpOAuthProviderOptions as _t, basicTools as a, CompactDirection as an, UpDownCounter as at, ChildAgent as b, sliceForCompaction as bn, PERSISTED_STUB_PREFIX as bt, Span as c, NO_TOOLS_PREAMBLE as cn, OAuthCallbackOptions as ct, TracingHookSet as d, buildFromCompactPrompt as dn, LoginMcpServerOptions as dt, CompactResult as en, InstrumentOptions as et, TracingHooksOptions as f, buildFullCompactPrompt as fn, LoginMcpServerResult as ft, validateToolArgs as g, CompactScope as gn, McpOAuthProvider as gt, ValidationResult as h, ANCHOR_PREVIEW_MAX_CHARS as hn, McpCredentialStore as ht, _default as i, BASE_INSTRUCTIONS as in, MetricsHooksOptions as it, readFile as j, TOOL_USE_SKIPPED_MESSAGE as jt, createSkillsReadTool as k, SHELL_CASCADE_CANCEL_MESSAGE as kt, StartSpan as l, TRAILER as ln, OAuthCallbackResult as lt, writeFile as m, buildUpToCompactPrompt as mn, McpCredentialEntry as mt, composePresets as n, CompactInvalidInputError as nn, MetricAttributes as nt, zodToJsonSchema as o, CompactPromptBuilder as on, createMetricsHooks as ot, createTracingHooks as p, buildTailCompactPrompt as pn, loginMcpServer as pt, RunSummaryCollectorOptions as q, PostCompactRestoreOptions as qt, definePreset as r, CompactPromptTooLongError as rn, MetricsHookSet as rt, GEN_AI_ATTRIBUTES as s, CompactPromptOptions as sn, OAuthCallbackHandle as st, Preset as t, compactConversation as tn, Meter as tt, TracingConventions as u, buildCompactPrompt as un, startOAuthCallback as ut, ToolSearchToolOptions as v, SummaryToTurnInput as vn, createMemoryMcpCredentialStore as vt, SkillsUseToolOptions as w, buildPersistedStub as wt, SpawnToolOptions as x, stripImagesFromTurns as xn, PERSISTENCE_PREVIEW_BYTES as xt, createToolSearchTool as y, anchorPreviewFor as yn, hasAuthorizationHeader as yt, ModelUsage as z, consoleSink as zt };
1841
+ //# sourceMappingURL=index-j9tY28ah.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-j9tY28ah.d.ts","names":[],"sources":["../src/compact/messages.ts","../src/compact/prompt.ts","../src/compact/errors.ts","../src/compact/compact.ts","../src/compact/restore.ts","../src/compact/utils.ts","../src/logger.ts","../src/loop.ts","../src/loop-persistence.ts","../src/mcp/oauth-provider.ts","../src/mcp/login.ts","../src/mcp/oauth-callback.ts","../src/metrics.ts","../src/run-summary.ts","../src/stats.ts","../src/tools/edit.ts","../src/tools/glob.ts","../src/tools/grep.ts","../src/tools/interaction.ts","../src/tools/list-files.ts","../src/tools/multi-edit.ts","../src/tools/read-file.ts","../src/tools/shell.ts","../src/tools/skills-read.ts","../src/tools/skills-run-script.ts","../src/tools/skills-use.ts","../src/tools/spawn.ts","../src/tools/tool-search.ts","../src/tools/validation.ts","../src/tools/write-file.ts","../src/tracing.ts","../src/zod.ts","../src/presets/basic.ts","../src/presets/index.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as ExecutionHandle, i as ExecutionContext, n as ContextType, o as SpawnConfig, r as ExecResult, t as ContextCapabilities } from "./types-Ce78ds4h.js";
2
2
  import { n as createSandboxContext, r as createProcessContext, t as SandboxProvider } from "./index-BiO_5Hm4.js";
3
- import { $ as fromOpenAI, $t as ThinkingLevel, A as SkillSource, At as cerebras, B as createRemoteStore, Bt as OAuthRefreshHookContext, C as getReadState, Ct as OpenAICompatParams, D as SkillConfig, Dt as OpenAIParams, E as resolveReadStateMap, Et as openaiCompat, F as SessionRun, Ft as AgentStats, G as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, Gt as RunHookMap, H as ORPHANED_TOOL_RESULT_MARKER, Ht as PromptImagePart, I as SessionStore, J as autoDetectAndConvert, Jt as SessionHookContext, K as TOOL_USE_INTERRUPTED_MARKER, Kt as SessionContentBlock, L as createSession, Lt as McpServerConfig, M as CreateSessionOptions, Mt as anthropic, N as Session, Nt as AgentBehavior, O as SkillDiagnostic, Ot as openai, P as SessionData, Pt as AgentRunOptions, Q as fromAnthropic, Qt as StreamHookContext, R as loadSession, Rt as McpToolHookContext, S as ReadStateMap, St as OpenAICompatHttpError, T as readStateKey, Tt as mapOAIFinishReason, U as PairingRepair, Ut as PromptPart, V as EnsureToolResultPairingOptions, Vt as PromptDocumentPart, W as PairingRepairMode, Wt as PromptTextPart, X as ensureToolResultPairing, Xt as SessionTurn, Y as detectTurnInterruption, Yt as SessionMessage, Z as filterUnresolvedToolUses, Zt as SpawnHookContext, _ as resultToString, _n as matchesContextExceeded, _t as sanitizeToolSchema, a as createAgent, an as TurnUsage, at as createFileMapStore, b as ToolMap, bt as openrouter, c as DeactivationReason, cn as AgentAbortedError, ct as StreamCallbacks, d as createSkillActivationState, dn as AgentToolNotAllowedError, dt as ToolResult, en as ToolHookContext, et as toAnthropic, f as ConnectMcpServersOptions, fn as AgentToolPairingError, ft as ToolSpec, g as normalizeMcpServers, gn as errorMessage, gt as SchemaSanitizeResult, h as normalizeMcpBlocks, hn as ClassifiedErrorKind, ht as SchemaSanitizeProfile, i as AgentOptions, in as TurnFinishReason, it as FileMapStoreOptions, j as SkillsConfig, jt as AnthropicParams, k as SkillResource, kt as CerebrasParams, l as SkillActivationState, ln as AgentContextExceededError, lt as StreamOptions, m as connectMcpServers, mn as ClassifiedError, mt as SchemaSanitizeOptions, nn as ToolResultImageContent, nt as createMemoryStore, o as ActivationVia, on as toolOutputByteLength, ot as Provider, p as McpConnection, pn as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, pt as TurnResult, q as TurnInterruptionState, qt as SessionEndStatus, r as AgentHooks, rn as ToolResultTextContent, rt as FileMapAdapter, s as ActiveSkill, sn as toolResultToText, st as ProviderCapabilities, t as Agent, tn as ToolResultContent, tt as toOpenAI, u as SkillActivationStateOptions, un as AgentProviderError, ut as ToolCall, v as ToolContext, vn as toTypedError, vt as sanitizeToolSpecs, wt as classifyOpenAICompatError, x as ReadStateEntry, xt as OpenAICompatAuthHeader, y as ToolDef, yt as OpenRouterParams, z as RemoteStoreOptions } from "./agent-DxBoKDba.js";
4
- import { $ as Histogram, $t as CompactResult, At as TOOL_USE_SKIPPED_MESSAGE, B as flattenTurns, Bt as createLoggingHooks, C as createSpawnTool, Ct as PersistOutcome, D as createSkillsRunScriptTool, Dt as resolvePersistDir, E as SkillsRunScriptToolOptions, Et as maybePersistToolResult, F as createInteractionTool, Ft as Logger, G as RunSummaryByModel, Gt as PostCompactAttachments, H as RunSummary, Ht as BYTES_PER_TOKEN, I as grep, It as LoggingHookSet, J as RunSummaryError, Jt as buildPostCompactAttachments, K as RunSummaryCollector, Kt as PostCompactRestoreOptions, L as glob, Lt as LoggingHooksOptions, M as multiEdit, Mt as LogLevel, Nt as LogRecord, O as SkillsReadToolOptions, Ot as INTERRUPT_MESSAGE_FOR_TOOL_USE, P as InteractionToolOptions, Pt as LogSink, Q as Counter, Qt as CompactOptions, R as edit, Rt as consoleSink, S as SpawnToolState, Sn as truncateHeadForPtlRetry, St as PersistInput, T as createSkillsUseTool, Tt as cleanupPersistedSession, U as RunSummaryBlock, Ut as estimateTokens, V as statsByModel, Vt as jsonSink, W as RunSummaryBudget, Wt as utf8ByteLength, X as RunSummaryValidation, Xt as selectFilesFromSession, Y as RunSummaryTokens, Yt as selectFilesFromReadState, Z as createRunSummaryCollector, Zt as selectRecentFiles, _n as SummaryToTurnInput, _t as McpOAuthProviderOptions, a as basicTools, an as CompactPromptBuilder, at as UpDownCounter, b as ChildAgent, bn as stripImagesFromTurns, bt as PERSISTED_STUB_PREFIX, c as Span, cn as TRAILER, ct as OAuthCallbackOptions, d as TracingHookSet, dn as buildFullCompactPrompt, dt as LoginMcpServerOptions, en as compactConversation, et as InstrumentOptions, f as TracingHooksOptions, fn as buildTailCompactPrompt, ft as LoginMcpServerResult, g as validateToolArgs, gn as CompactionSlice, gt as McpOAuthProvider, h as ValidationResult, hn as CompactScope, ht as McpCredentialStore, i as _default, in as CompactDirection, it as MetricsHooksOptions, jt as ConsoleSinkOptions, k as createSkillsReadTool, kt as SHELL_CASCADE_CANCEL_MESSAGE, l as StartSpan, ln as buildCompactPrompt, lt as OAuthCallbackResult, mn as ANCHOR_PREVIEW_MAX_CHARS, mt as McpCredentialEntry, nn as CompactPromptTooLongError, nt as MetricAttributes, o as zodToJsonSchema, on as CompactPromptOptions, ot as createMetricsHooks, p as createTracingHooks, pn as buildUpToCompactPrompt, pt as loginMcpServer, q as RunSummaryCollectorOptions, qt as RecentFile, r as definePreset, rn as BASE_INSTRUCTIONS, rt as MetricsHookSet, s as GEN_AI_ATTRIBUTES, sn as NO_TOOLS_PREAMBLE, st as OAuthCallbackHandle, t as Preset, tn as CompactInvalidInputError, tt as Meter, u as TracingConventions, un as buildFromCompactPrompt, ut as startOAuthCallback, vn as anchorPreviewFor, vt as createMemoryMcpCredentialStore, w as SkillsUseToolOptions, wt as buildPersistedStub, x as SpawnToolOptions, xn as summaryToTurn, xt as PERSISTENCE_PREVIEW_BYTES, yn as sliceForCompaction, yt as hasAuthorizationHeader, z as ModelUsage, zt as createLogger } from "./index-B2VOOijU.js";
5
- import { S as installAllowedToolsGate, a as SkillValidationResult, b as buildCatalog, c as parseAllowedToolPattern, d as validateSkillName, f as resolveSkills, h as discoverSkills, i as SkillValidationIssue, l as validateResourcePath, m as SourcedScanPath, n as writeSkillToDisk, o as isToolAllowedByUnion, p as interpolateShellCommands, r as writeSkillsToDisk, s as matchesAllowedTool, t as defineSkill, u as validateSkillForWrite, x as IMPLICITLY_ALLOWED_SKILL_TOOLS, y as parseSkillFile } from "./index-BOtXdQkW.js";
6
- export { ANCHOR_PREVIEW_MAX_CHARS, ActivationVia, ActiveSkill, Agent, AgentAbortedError, AgentBehavior, AgentContextExceededError, AgentHooks, AgentOptions, AgentProviderError, AgentRunOptions, AgentStats, AgentToolNotAllowedError, AgentToolPairingError, AnthropicParams, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, CerebrasParams, ChildAgent, ClassifiedError, ClassifiedErrorKind, CompactDirection, CompactInvalidInputError, CompactOptions, CompactPromptBuilder, CompactPromptOptions, CompactPromptTooLongError, CompactResult, CompactScope, CompactionSlice, ConnectMcpServersOptions, ConsoleSinkOptions, ContextCapabilities, ContextType, Counter, CreateSessionOptions, DeactivationReason, EnsureToolResultPairingOptions, ExecResult, ExecutionContext, ExecutionHandle, FileMapAdapter, FileMapStoreOptions, GEN_AI_ATTRIBUTES, Histogram, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, InstrumentOptions, InteractionToolOptions, LogLevel, LogRecord, LogSink, Logger, LoggingHookSet, LoggingHooksOptions, LoginMcpServerOptions, LoginMcpServerResult, McpConnection, McpCredentialEntry, McpCredentialStore, McpOAuthProvider, McpOAuthProviderOptions, McpServerConfig, McpToolHookContext, Meter, MetricAttributes, MetricsHookSet, MetricsHooksOptions, ModelUsage, NO_TOOLS_PREAMBLE, OAuthCallbackHandle, OAuthCallbackOptions, OAuthCallbackResult, OAuthRefreshHookContext, ORPHANED_TOOL_RESULT_MARKER, OpenAICompatAuthHeader, OpenAICompatHttpError, OpenAICompatParams, OpenAIParams, OpenRouterParams, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, PairingRepair, PairingRepairMode, PersistInput, PersistOutcome, PostCompactAttachments, PostCompactRestoreOptions, Preset, PromptDocumentPart, PromptImagePart, PromptPart, PromptTextPart, Provider, ProviderCapabilities, ReadStateEntry, ReadStateMap, RecentFile, RemoteStoreOptions, RunHookMap, RunSummary, RunSummaryBlock, RunSummaryBudget, RunSummaryByModel, RunSummaryCollector, RunSummaryCollectorOptions, RunSummaryError, RunSummaryTokens, RunSummaryValidation, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, SandboxProvider, SchemaSanitizeOptions, SchemaSanitizeProfile, SchemaSanitizeResult, Session, SessionContentBlock, SessionData, SessionEndStatus, SessionHookContext, SessionMessage, SessionRun, SessionStore, SessionTurn, SkillActivationState, SkillActivationStateOptions, SkillConfig, SkillDiagnostic, SkillResource, SkillSource, SkillValidationIssue, SkillValidationResult, SkillsConfig, SkillsReadToolOptions, SkillsRunScriptToolOptions, SkillsUseToolOptions, SourcedScanPath, Span, SpawnConfig, SpawnHookContext, SpawnToolOptions, SpawnToolState, StartSpan, StreamCallbacks, StreamHookContext, StreamOptions, SummaryToTurnInput, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, ThinkingLevel, ToolCall, ToolContext, ToolDef, ToolHookContext, ToolMap, ToolResult, ToolResultContent, ToolResultImageContent, ToolResultTextContent, ToolSpec, TracingConventions, TracingHookSet, TracingHooksOptions, TurnFinishReason, TurnInterruptionState, TurnResult, TurnUsage, UpDownCounter, ValidationResult, anchorPreviewFor, anthropic, autoDetectAndConvert, _default as basic, basicTools, buildCatalog, buildCompactPrompt, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildTailCompactPrompt, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, compactConversation, connectMcpServers, consoleSink, createAgent, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createRunSummaryCollector, createSandboxContext, createSession, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, definePreset, defineSkill, detectTurnInterruption, discoverSkills, edit, ensureToolResultPairing, errorMessage, estimateTokens, filterUnresolvedToolUses, flattenTurns, fromAnthropic, fromOpenAI, getReadState, glob, grep, hasAuthorizationHeader, installAllowedToolsGate, interpolateShellCommands, isToolAllowedByUnion, jsonSink, loadSession, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, resolvePersistDir, resolveReadStateMap, resolveSkills, resultToString, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, startOAuthCallback, statsByModel, stripImagesFromTurns, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toolOutputByteLength, toolResultToText, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateSkillForWrite, validateSkillName, validateToolArgs, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
3
+ import { $ as fromOpenAI, $t as ThinkingLevel, A as SkillSource, At as cerebras, B as createRemoteStore, Bt as OAuthRefreshHookContext, C as getReadState, Ct as OpenAICompatParams, D as SkillConfig, Dt as OpenAIParams, E as resolveReadStateMap, Et as openaiCompat, F as SessionRun, Ft as AgentStats, G as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, Gt as RunHookMap, H as ORPHANED_TOOL_RESULT_MARKER, Ht as PromptImagePart, I as SessionStore, J as autoDetectAndConvert, Jt as SessionHookContext, K as TOOL_USE_INTERRUPTED_MARKER, Kt as SessionContentBlock, L as createSession, Lt as McpServerConfig, M as CreateSessionOptions, Mt as anthropic, N as Session, Nt as AgentBehavior, O as SkillDiagnostic, Ot as openai, P as SessionData, Pt as AgentRunOptions, Q as fromAnthropic, Qt as StreamHookContext, R as loadSession, Rt as McpToolHookContext, S as ReadStateMap, St as OpenAICompatHttpError, T as readStateKey, Tt as mapOAIFinishReason, U as PairingRepair, Ut as PromptPart, V as EnsureToolResultPairingOptions, Vt as PromptDocumentPart, W as PairingRepairMode, Wt as PromptTextPart, X as ensureToolResultPairing, Xt as SessionTurn, Y as detectTurnInterruption, Yt as SessionMessage, Z as filterUnresolvedToolUses, Zt as SpawnHookContext, _ as resultToString, _n as matchesContextExceeded, _t as sanitizeToolSchema, a as createAgent, an as TurnUsage, at as createFileMapStore, b as ToolMap, bt as openrouter, c as DeactivationReason, cn as AgentAbortedError, ct as StreamCallbacks, d as createSkillActivationState, dn as AgentToolNotAllowedError, dt as ToolResult, en as ToolHookContext, et as toAnthropic, f as ConnectMcpServersOptions, fn as AgentToolPairingError, ft as ToolSpec, g as normalizeMcpServers, gn as errorMessage, gt as SchemaSanitizeResult, h as normalizeMcpBlocks, hn as ClassifiedErrorKind, ht as SchemaSanitizeProfile, i as AgentOptions, in as TurnFinishReason, it as FileMapStoreOptions, j as SkillsConfig, jt as AnthropicParams, k as SkillResource, kt as CerebrasParams, l as SkillActivationState, ln as AgentContextExceededError, lt as StreamOptions, m as connectMcpServers, mn as ClassifiedError, mt as SchemaSanitizeOptions, nn as ToolResultImageContent, nt as createMemoryStore, o as ActivationVia, on as toolOutputByteLength, ot as Provider, p as McpConnection, pn as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, pt as TurnResult, q as TurnInterruptionState, qt as SessionEndStatus, r as AgentHooks, rn as ToolResultTextContent, rt as FileMapAdapter, s as ActiveSkill, sn as toolResultToText, st as ProviderCapabilities, t as Agent, tn as ToolResultContent, tt as toOpenAI, u as SkillActivationStateOptions, un as AgentProviderError, ut as ToolCall, v as ToolContext, vn as toTypedError, vt as sanitizeToolSpecs, wt as classifyOpenAICompatError, x as ReadStateEntry, xt as OpenAICompatAuthHeader, y as ToolDef, yt as OpenRouterParams, z as RemoteStoreOptions } from "./agent-Yu8uhpy-.js";
4
+ import { $ as Histogram, $t as CompactOptions, At as TOOL_USE_CANCELLED_MESSAGE, B as flattenTurns, Bt as createLogger, C as createSpawnTool, Cn as truncateHeadForPtlRetry, Ct as PersistOutcome, D as createSkillsRunScriptTool, Dt as resolvePersistDir, E as SkillsRunScriptToolOptions, Et as maybePersistToolResult, F as createInteractionTool, Ft as LogSink, G as RunSummaryByModel, Gt as utf8ByteLength, H as RunSummary, Ht as jsonSink, I as grep, It as Logger, J as RunSummaryError, Jt as RecentFile, K as RunSummaryCollector, Kt as PostCompactAttachments, L as glob, Lt as LoggingHookSet, M as multiEdit, Mt as ConsoleSinkOptions, Nt as LogLevel, O as SkillsReadToolOptions, Ot as INTERRUPT_MESSAGE_FOR_TOOL_USE, P as InteractionToolOptions, Pt as LogRecord, Q as Counter, Qt as selectRecentFiles, R as edit, Rt as LoggingHooksOptions, S as SpawnToolState, Sn as summaryToTurn, St as PersistInput, T as createSkillsUseTool, Tt as cleanupPersistedSession, U as RunSummaryBlock, Ut as BYTES_PER_TOKEN, V as statsByModel, Vt as createLoggingHooks, W as RunSummaryBudget, Wt as estimateTokens, X as RunSummaryValidation, Xt as selectFilesFromReadState, Y as RunSummaryTokens, Yt as buildPostCompactAttachments, Z as createRunSummaryCollector, Zt as selectFilesFromSession, _n as CompactionSlice, _t as McpOAuthProviderOptions, a as basicTools, an as CompactDirection, at as UpDownCounter, b as ChildAgent, bn as sliceForCompaction, bt as PERSISTED_STUB_PREFIX, c as Span, cn as NO_TOOLS_PREAMBLE, ct as OAuthCallbackOptions, d as TracingHookSet, dn as buildFromCompactPrompt, dt as LoginMcpServerOptions, en as CompactResult, et as InstrumentOptions, f as TracingHooksOptions, fn as buildFullCompactPrompt, ft as LoginMcpServerResult, g as validateToolArgs, gn as CompactScope, gt as McpOAuthProvider, h as ValidationResult, hn as ANCHOR_PREVIEW_MAX_CHARS, ht as McpCredentialStore, i as _default, in as BASE_INSTRUCTIONS, it as MetricsHooksOptions, jt as TOOL_USE_SKIPPED_MESSAGE, k as createSkillsReadTool, kt as SHELL_CASCADE_CANCEL_MESSAGE, l as StartSpan, ln as TRAILER, lt as OAuthCallbackResult, mn as buildUpToCompactPrompt, mt as McpCredentialEntry, nn as CompactInvalidInputError, nt as MetricAttributes, o as zodToJsonSchema, on as CompactPromptBuilder, ot as createMetricsHooks, p as createTracingHooks, pn as buildTailCompactPrompt, pt as loginMcpServer, q as RunSummaryCollectorOptions, qt as PostCompactRestoreOptions, r as definePreset, rn as CompactPromptTooLongError, rt as MetricsHookSet, s as GEN_AI_ATTRIBUTES, sn as CompactPromptOptions, st as OAuthCallbackHandle, t as Preset, tn as compactConversation, tt as Meter, u as TracingConventions, un as buildCompactPrompt, ut as startOAuthCallback, vn as SummaryToTurnInput, vt as createMemoryMcpCredentialStore, w as SkillsUseToolOptions, wt as buildPersistedStub, x as SpawnToolOptions, xn as stripImagesFromTurns, xt as PERSISTENCE_PREVIEW_BYTES, yn as anchorPreviewFor, yt as hasAuthorizationHeader, z as ModelUsage, zt as consoleSink } from "./index-j9tY28ah.js";
5
+ import { S as installAllowedToolsGate, a as SkillValidationResult, b as buildCatalog, c as parseAllowedToolPattern, d as validateSkillName, f as resolveSkills, h as discoverSkills, i as SkillValidationIssue, l as validateResourcePath, m as SourcedScanPath, n as writeSkillToDisk, o as isToolAllowedByUnion, p as interpolateShellCommands, r as writeSkillsToDisk, s as matchesAllowedTool, t as defineSkill, u as validateSkillForWrite, x as IMPLICITLY_ALLOWED_SKILL_TOOLS, y as parseSkillFile } from "./index-DklfxeYy.js";
6
+ export { ANCHOR_PREVIEW_MAX_CHARS, ActivationVia, ActiveSkill, Agent, AgentAbortedError, AgentBehavior, AgentContextExceededError, AgentHooks, AgentOptions, AgentProviderError, AgentRunOptions, AgentStats, AgentToolNotAllowedError, AgentToolPairingError, AnthropicParams, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, CerebrasParams, ChildAgent, ClassifiedError, ClassifiedErrorKind, CompactDirection, CompactInvalidInputError, CompactOptions, CompactPromptBuilder, CompactPromptOptions, CompactPromptTooLongError, CompactResult, CompactScope, CompactionSlice, ConnectMcpServersOptions, ConsoleSinkOptions, ContextCapabilities, ContextType, Counter, CreateSessionOptions, DeactivationReason, EnsureToolResultPairingOptions, ExecResult, ExecutionContext, ExecutionHandle, FileMapAdapter, FileMapStoreOptions, GEN_AI_ATTRIBUTES, Histogram, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, InstrumentOptions, InteractionToolOptions, LogLevel, LogRecord, LogSink, Logger, LoggingHookSet, LoggingHooksOptions, LoginMcpServerOptions, LoginMcpServerResult, McpConnection, McpCredentialEntry, McpCredentialStore, McpOAuthProvider, McpOAuthProviderOptions, McpServerConfig, McpToolHookContext, Meter, MetricAttributes, MetricsHookSet, MetricsHooksOptions, ModelUsage, NO_TOOLS_PREAMBLE, OAuthCallbackHandle, OAuthCallbackOptions, OAuthCallbackResult, OAuthRefreshHookContext, ORPHANED_TOOL_RESULT_MARKER, OpenAICompatAuthHeader, OpenAICompatHttpError, OpenAICompatParams, OpenAIParams, OpenRouterParams, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, PairingRepair, PairingRepairMode, PersistInput, PersistOutcome, PostCompactAttachments, PostCompactRestoreOptions, Preset, PromptDocumentPart, PromptImagePart, PromptPart, PromptTextPart, Provider, ProviderCapabilities, ReadStateEntry, ReadStateMap, RecentFile, RemoteStoreOptions, RunHookMap, RunSummary, RunSummaryBlock, RunSummaryBudget, RunSummaryByModel, RunSummaryCollector, RunSummaryCollectorOptions, RunSummaryError, RunSummaryTokens, RunSummaryValidation, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, SandboxProvider, SchemaSanitizeOptions, SchemaSanitizeProfile, SchemaSanitizeResult, Session, SessionContentBlock, SessionData, SessionEndStatus, SessionHookContext, SessionMessage, SessionRun, SessionStore, SessionTurn, SkillActivationState, SkillActivationStateOptions, SkillConfig, SkillDiagnostic, SkillResource, SkillSource, SkillValidationIssue, SkillValidationResult, SkillsConfig, SkillsReadToolOptions, SkillsRunScriptToolOptions, SkillsUseToolOptions, SourcedScanPath, Span, SpawnConfig, SpawnHookContext, SpawnToolOptions, SpawnToolState, StartSpan, StreamCallbacks, StreamHookContext, StreamOptions, SummaryToTurnInput, TOOL_USE_CANCELLED_MESSAGE, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, ThinkingLevel, ToolCall, ToolContext, ToolDef, ToolHookContext, ToolMap, ToolResult, ToolResultContent, ToolResultImageContent, ToolResultTextContent, ToolSpec, TracingConventions, TracingHookSet, TracingHooksOptions, TurnFinishReason, TurnInterruptionState, TurnResult, TurnUsage, UpDownCounter, ValidationResult, anchorPreviewFor, anthropic, autoDetectAndConvert, _default as basic, basicTools, buildCatalog, buildCompactPrompt, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildTailCompactPrompt, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, compactConversation, connectMcpServers, consoleSink, createAgent, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createRunSummaryCollector, createSandboxContext, createSession, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, definePreset, defineSkill, detectTurnInterruption, discoverSkills, edit, ensureToolResultPairing, errorMessage, estimateTokens, filterUnresolvedToolUses, flattenTurns, fromAnthropic, fromOpenAI, getReadState, glob, grep, hasAuthorizationHeader, installAllowedToolsGate, interpolateShellCommands, isToolAllowedByUnion, jsonSink, loadSession, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, resolvePersistDir, resolveReadStateMap, resolveSkills, resultToString, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, startOAuthCallback, statsByModel, stripImagesFromTurns, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toolOutputByteLength, toolResultToText, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateSkillForWrite, validateSkillName, validateToolArgs, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- import { A as readStateKey, C as PERSISTENCE_PREVIEW_BYTES, D as resolvePersistDir, E as maybePersistToolResult, O as getReadState, S as PERSISTED_STUB_PREFIX, T as cleanupPersistedSession, _ as createSkillsReadTool, a as multiEdit, b as TOOL_USE_SKIPPED_MESSAGE, c as grep, g as createSkillsRunScriptTool, h as createSkillsUseTool, j as resolveReadStateMap, l as glob, n as createSpawnTool, p as createAgent, s as createInteractionTool, u as edit, v as INTERRUPT_MESSAGE_FOR_TOOL_USE, w as buildPersistedStub, x as validateToolArgs, y as SHELL_CASCADE_CANCEL_MESSAGE } from "./tools-BNfyY14s.js";
1
+ import { C as PERSISTED_STUB_PREFIX, D as maybePersistToolResult, E as cleanupPersistedSession, M as resolveReadStateMap, O as resolvePersistDir, S as validateToolArgs, T as buildPersistedStub, _ as createSkillsReadTool, a as multiEdit, b as TOOL_USE_CANCELLED_MESSAGE, c as grep, g as createSkillsRunScriptTool, h as createSkillsUseTool, j as readStateKey, k as getReadState, l as glob, n as createSpawnTool, p as createAgent, s as createInteractionTool, u as edit, v as INTERRUPT_MESSAGE_FOR_TOOL_USE, w as PERSISTENCE_PREVIEW_BYTES, x as TOOL_USE_SKIPPED_MESSAGE, y as SHELL_CASCADE_CANCEL_MESSAGE } from "./tools-BK2vG9UX.js";
2
2
  import { n as createProcessContext, t as createSandboxContext } from "./contexts-BwiHIr2w.js";
3
- import { a as AgentToolPairingError, c as matchesContextExceeded, i as AgentToolNotAllowedError, l as toTypedError, n as AgentContextExceededError, o as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, r as AgentProviderError, s as errorMessage, t as AgentAbortedError } from "./errors-Byb0F8B9.js";
3
+ import { a as AgentToolPairingError, c as matchesContextExceeded, i as AgentToolNotAllowedError, l as toTypedError, n as AgentContextExceededError, o as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, r as AgentProviderError, s as errorMessage, t as AgentAbortedError } from "./errors-CDwtPIMX.js";
4
4
  import { n as toolResultToText, t as toolOutputByteLength } from "./types-IcokUOyC.js";
5
- import { a as detectTurnInterruption, b as sanitizeToolSpecs, c as fromAnthropic, d as toOpenAI, f as OpenAICompatHttpError, g as openaiCompat, h as mapOAIFinishReason, i as autoDetectAndConvert, l as fromOpenAI, m as classifyOpenAICompatError, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureToolResultPairing, r as TOOL_USE_INTERRUPTED_MARKER, s as filterUnresolvedToolUses, t as ORPHANED_TOOL_RESULT_MARKER, u as toAnthropic, y as sanitizeToolSchema } from "./messages-D0xT979U.js";
6
- import { c as createMemoryMcpCredentialStore, i as resultToString, l as hasAuthorizationHeader, n as normalizeMcpBlocks, r as normalizeMcpServers, s as McpOAuthProvider, t as connectMcpServers } from "./mcp-DhmmJfxK.js";
7
- import { _ as validateResourcePath, a as discoverSkills, b as createSkillActivationState, f as IMPLICITLY_ALLOWED_SKILL_TOOLS, g as parseAllowedToolPattern, h as matchesAllowedTool, i as writeSkillsToDisk, l as parseSkillFile, m as isToolAllowedByUnion, n as resolveSkills, p as installAllowedToolsGate, r as writeSkillToDisk, t as interpolateShellCommands, u as buildCatalog, v as validateSkillForWrite, y as validateSkillName } from "./interpolate-ERgZUxgg.js";
8
- import { C as summaryToTurn, E as CompactPromptTooLongError, S as stripImagesFromTurns, T as CompactInvalidInputError, _ as buildTailCompactPrompt, a as selectFilesFromSession, b as anchorPreviewFor, c as BYTES_PER_TOKEN, d as BASE_INSTRUCTIONS, f as NO_TOOLS_PREAMBLE, g as buildFullCompactPrompt, h as buildFromCompactPrompt, i as selectFilesFromReadState, l as estimateTokens, m as buildCompactPrompt, n as startOAuthCallback, o as selectRecentFiles, p as TRAILER, r as buildPostCompactAttachments, s as compactConversation, t as loginMcpServer, u as utf8ByteLength, v as buildUpToCompactPrompt, w as truncateHeadForPtlRetry, x as sliceForCompaction, y as ANCHOR_PREVIEW_MAX_CHARS } from "./login-CJbeAadS.js";
5
+ import { a as detectTurnInterruption, b as sanitizeToolSpecs, c as fromAnthropic, d as toOpenAI, f as OpenAICompatHttpError, g as openaiCompat, h as mapOAIFinishReason, i as autoDetectAndConvert, l as fromOpenAI, m as classifyOpenAICompatError, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureToolResultPairing, r as TOOL_USE_INTERRUPTED_MARKER, s as filterUnresolvedToolUses, t as ORPHANED_TOOL_RESULT_MARKER, u as toAnthropic, y as sanitizeToolSchema } from "./messages-fTR19Ga6.js";
6
+ import { c as createMemoryMcpCredentialStore, i as resultToString, l as hasAuthorizationHeader, n as normalizeMcpBlocks, r as normalizeMcpServers, s as McpOAuthProvider, t as connectMcpServers } from "./mcp-CNUbvbsy.js";
7
+ import { _ as validateResourcePath, a as discoverSkills, b as createSkillActivationState, f as IMPLICITLY_ALLOWED_SKILL_TOOLS, g as parseAllowedToolPattern, h as matchesAllowedTool, i as writeSkillsToDisk, l as parseSkillFile, m as isToolAllowedByUnion, n as resolveSkills, p as installAllowedToolsGate, r as writeSkillToDisk, t as interpolateShellCommands, u as buildCatalog, v as validateSkillForWrite, y as validateSkillName } from "./interpolate-CmtjEyRJ.js";
8
+ import { C as summaryToTurn, E as CompactPromptTooLongError, S as stripImagesFromTurns, T as CompactInvalidInputError, _ as buildTailCompactPrompt, a as selectFilesFromSession, b as anchorPreviewFor, c as BYTES_PER_TOKEN, d as BASE_INSTRUCTIONS, f as NO_TOOLS_PREAMBLE, g as buildFullCompactPrompt, h as buildFromCompactPrompt, i as selectFilesFromReadState, l as estimateTokens, m as buildCompactPrompt, n as startOAuthCallback, o as selectRecentFiles, p as TRAILER, r as buildPostCompactAttachments, s as compactConversation, t as loginMcpServer, u as utf8ByteLength, v as buildUpToCompactPrompt, w as truncateHeadForPtlRetry, x as sliceForCompaction, y as ANCHOR_PREVIEW_MAX_CHARS } from "./login-DxyAERe1.js";
9
9
  import { r as statsByModel, t as flattenTurns } from "./stats-DgOvY7wd.js";
10
- import { i as basic_default, n as definePreset, r as basicTools } from "./presets-MCcvxiNT.js";
11
- import { i as anthropic, n as openai, r as cerebras, t as openrouter } from "./providers-x3LZByR5.js";
12
- import { a as createFileMapStore, i as createMemoryStore, n as loadSession, r as createRemoteStore, t as createSession } from "./session-BHZwxmfr.js";
10
+ import { i as basic_default, n as definePreset, r as basicTools } from "./presets-D9IbaI40.js";
11
+ import { i as anthropic, n as openai, r as cerebras, t as openrouter } from "./providers-CEzRFYtS.js";
12
+ import { a as createFileMapStore, i as createMemoryStore, n as loadSession, r as createRemoteStore, t as createSession } from "./session-kwsNnOmt.js";
13
13
  import { defineSkill } from "./skills.js";
14
14
  //#region src/logger.ts
15
15
  /**
@@ -1616,6 +1616,6 @@ function zodToJsonSchema(jsonSchema) {
1616
1616
  return rest;
1617
1617
  }
1618
1618
  //#endregion
1619
- export { ANCHOR_PREVIEW_MAX_CHARS, AgentAbortedError, AgentContextExceededError, AgentProviderError, AgentToolNotAllowedError, AgentToolPairingError, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, CompactInvalidInputError, CompactPromptTooLongError, GEN_AI_ATTRIBUTES, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, McpOAuthProvider, NO_TOOLS_PREAMBLE, ORPHANED_TOOL_RESULT_MARKER, OpenAICompatHttpError, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, anchorPreviewFor, anthropic, autoDetectAndConvert, basic_default as basic, basicTools, buildCatalog, buildCompactPrompt, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildTailCompactPrompt, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, compactConversation, connectMcpServers, consoleSink, createAgent, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createRunSummaryCollector, createSandboxContext, createSession, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, definePreset, defineSkill, detectTurnInterruption, discoverSkills, edit, ensureToolResultPairing, errorMessage, estimateTokens, filterUnresolvedToolUses, flattenTurns, fromAnthropic, fromOpenAI, getReadState, glob, grep, hasAuthorizationHeader, installAllowedToolsGate, interpolateShellCommands, isToolAllowedByUnion, jsonSink, loadSession, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, resolvePersistDir, resolveReadStateMap, resolveSkills, resultToString, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, startOAuthCallback, statsByModel, stripImagesFromTurns, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toolOutputByteLength, toolResultToText, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateSkillForWrite, validateSkillName, validateToolArgs, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
1619
+ export { ANCHOR_PREVIEW_MAX_CHARS, AgentAbortedError, AgentContextExceededError, AgentProviderError, AgentToolNotAllowedError, AgentToolPairingError, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, CompactInvalidInputError, CompactPromptTooLongError, GEN_AI_ATTRIBUTES, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, McpOAuthProvider, NO_TOOLS_PREAMBLE, ORPHANED_TOOL_RESULT_MARKER, OpenAICompatHttpError, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, TOOL_USE_CANCELLED_MESSAGE, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, anchorPreviewFor, anthropic, autoDetectAndConvert, basic_default as basic, basicTools, buildCatalog, buildCompactPrompt, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildTailCompactPrompt, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, compactConversation, connectMcpServers, consoleSink, createAgent, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createRunSummaryCollector, createSandboxContext, createSession, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, definePreset, defineSkill, detectTurnInterruption, discoverSkills, edit, ensureToolResultPairing, errorMessage, estimateTokens, filterUnresolvedToolUses, flattenTurns, fromAnthropic, fromOpenAI, getReadState, glob, grep, hasAuthorizationHeader, installAllowedToolsGate, interpolateShellCommands, isToolAllowedByUnion, jsonSink, loadSession, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, resolvePersistDir, resolveReadStateMap, resolveSkills, resultToString, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, startOAuthCallback, statsByModel, stripImagesFromTurns, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toolOutputByteLength, toolResultToText, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateSkillForWrite, validateSkillName, validateToolArgs, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
1620
1620
 
1621
1621
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { i as AgentToolNotAllowedError, s as errorMessage } from "./errors-Byb0F8B9.js";
1
+ import { i as AgentToolNotAllowedError, s as errorMessage } from "./errors-CDwtPIMX.js";
2
2
  import { basename, dirname, join, resolve } from "node:path";
3
3
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
4
4
  import { homedir, tmpdir } from "node:os";
@@ -366,12 +366,84 @@ const WHITESPACE_SPLIT_RE = /\s+/;
366
366
  const PARAGRAPH_SPLIT_RE = /\n\n/;
367
367
  const COMMA_OR_SPACE_RE = /[,\s]+/;
368
368
  /**
369
+ * Block-list bullet (`- value`) under an indented frontmatter key. A
370
+ * single dash followed by either a space or end-of-line; bare `-` is a
371
+ * list item with an empty value (preserved by callers as `""` because
372
+ * the spec doesn't disallow it).
373
+ */
374
+ const LIST_ITEM_RE = /^-(?:\s+|$)/;
375
+ /**
376
+ * Flow-style list scalar (`[a, b, c]`). Anchored, non-nested, single
377
+ * pass — we trim the outer brackets and let the caller split on
378
+ * commas. Anything more complex (nested brackets, quoted commas)
379
+ * falls through to the whitespace-split branch, where the bracket
380
+ * characters become visible authoring errors instead of silent garbage.
381
+ *
382
+ * Carefully written without overlapping `\s*` runs so it's not
383
+ * ReDoS-prone: the body class `[^[\]]*` already swallows whitespace,
384
+ * so wrapping it in `\s*…\s*` would let the regex engine
385
+ * non-deterministically split a run of spaces between the body and
386
+ * the boundary quantifiers.
387
+ */
388
+ const FLOW_LIST_RE = /^\[([^[\]]*)\]$/;
389
+ /**
390
+ * Common kebab/camel/snake misspellings of multi-word spec frontmatter
391
+ * keys. The Agent Skills spec mandates kebab-case (`allowed-tools`), but
392
+ * authors raised on JS / Python idioms naturally reach for camelCase
393
+ * (`allowedTools`) or snake_case (`allowed_tools`) — and the consequences
394
+ * of a silent mismatch on `allowed-tools` specifically are nasty: the
395
+ * skill loads fine, looks active in the UI, the model reads the body
396
+ * and tells the user "tools are restricted", but the `tool:gate`
397
+ * middleware finds nothing in the union and runs permissively. So we
398
+ * look for these alts at parse time, migrate the value to the canonical
399
+ * key, and emit a diagnostic so the next person sees the issue clearly.
400
+ *
401
+ * Keep the value space tight — accepting too many shapes erodes the
402
+ * "lenient load, strict authoring" principle. Add entries only for keys
403
+ * that are (a) multi-word (single-word keys have no ambiguity), (b) in
404
+ * active use, and (c) cause silent failures when missing (gate keys,
405
+ * security gates, …).
406
+ */
407
+ const FRONTMATTER_KEY_ALIASES = new Map([["allowed-tools", ["allowedTools", "allowed_tools"]]]);
408
+ /**
409
+ * Mutate `frontmatter` so any well-known alt-spelling of a canonical
410
+ * spec key gets folded into the canonical slot. Idempotent — when the
411
+ * canonical key is already set the function is a no-op even if an
412
+ * alt-spelling is also present (canonical wins; alt is ignored).
413
+ *
414
+ * Pushes a `frontmatter-key-alt-spelling` diagnostic per migration so
415
+ * the SkillConfig's `.diagnostics` carries an actionable hint into any
416
+ * host UI surfacing skill load issues.
417
+ */
418
+ function normalizeKeyAliases(frontmatter, diagnostics) {
419
+ for (const [canonical, aliases] of FRONTMATTER_KEY_ALIASES) {
420
+ if (frontmatter[canonical] !== void 0) continue;
421
+ for (const alias of aliases) {
422
+ if (frontmatter[alias] === void 0) continue;
423
+ frontmatter[canonical] = frontmatter[alias];
424
+ diagnostics.push({
425
+ severity: "warning",
426
+ code: "frontmatter-key-alt-spelling",
427
+ message: `Frontmatter field "${alias}" is not a spec key — the spec uses "${canonical}" (kebab-case). Reading the value from "${alias}" as a courtesy; rename it to "${canonical}" to silence this warning.`,
428
+ field: alias
429
+ });
430
+ break;
431
+ }
432
+ }
433
+ }
434
+ /**
369
435
  * Parse a SKILL.md file into frontmatter + body.
370
436
  *
371
437
  * Uses a simple regex-based YAML extractor that handles:
372
438
  * - Flat key: value pairs
373
439
  * - Quoted values
374
440
  * - One-level nested maps (for `metadata:`)
441
+ * - One-level nested block lists, `key:` followed by indented `- item`
442
+ * lines (for `allowed-tools` and any future array fields). Items are
443
+ * unquoted with the same rules as scalar values.
444
+ * - Flow-style scalars are preserved verbatim — interpretation (e.g.
445
+ * `[a, b]` as a list) is left to per-field consumers via
446
+ * {@link takeStringOrArray}.
375
447
  * - Lenient recovery from unquoted-colon values (e.g.
376
448
  * `description: Use when: the user asks …`) via a quote-wrap retry.
377
449
  */
@@ -388,31 +460,59 @@ function parseFrontmatter(content) {
388
460
  const frontmatter = {};
389
461
  let currentKey = null;
390
462
  let currentMap = null;
463
+ let currentList = null;
464
+ const flushPending = () => {
465
+ if (currentKey === null) return;
466
+ if (currentList !== null) frontmatter[currentKey] = currentList;
467
+ else if (currentMap !== null) frontmatter[currentKey] = currentMap;
468
+ currentKey = null;
469
+ currentMap = null;
470
+ currentList = null;
471
+ };
391
472
  for (const line of yamlBlock.split("\n")) {
392
473
  if (!line.trim() || line.trim().startsWith("#")) continue;
393
- if (currentKey && currentMap && INDENT_RE.test(line)) {
394
- const nestedMatch = line.trim().match(KV_RE);
474
+ if (currentKey !== null && INDENT_RE.test(line)) {
475
+ const stripped = line.trim();
476
+ if (LIST_ITEM_RE.test(stripped)) {
477
+ if (currentMap !== null && Object.keys(currentMap).length > 0) {
478
+ diagnostics.push({
479
+ severity: "warning",
480
+ code: "mixed-list-and-map",
481
+ message: `Frontmatter field "${currentKey}" mixes list items and map entries — keeping the map and dropping the list items.`,
482
+ field: currentKey
483
+ });
484
+ continue;
485
+ }
486
+ currentList = currentList ?? [];
487
+ currentList.push(unquoteYaml(stripped.slice(1).trim()));
488
+ continue;
489
+ }
490
+ const nestedMatch = stripped.match(KV_RE);
395
491
  if (nestedMatch) {
492
+ if (currentList !== null) {
493
+ diagnostics.push({
494
+ severity: "warning",
495
+ code: "mixed-list-and-map",
496
+ message: `Frontmatter field "${currentKey}" mixes list items and map entries — keeping the list and dropping the map entries.`,
497
+ field: currentKey
498
+ });
499
+ continue;
500
+ }
501
+ currentMap = currentMap ?? {};
396
502
  const val = nestedMatch[2].trim();
397
503
  currentMap[nestedMatch[1].trim()] = unquoteYaml(val);
398
504
  }
399
505
  continue;
400
506
  }
401
- if (currentKey && currentMap) {
402
- frontmatter[currentKey] = currentMap;
403
- currentKey = null;
404
- currentMap = null;
405
- }
507
+ flushPending();
406
508
  const kvMatch = matchFirstColon(line);
407
509
  if (!kvMatch) continue;
408
510
  const key = kvMatch.key.trim();
409
511
  const rawValue = kvMatch.value.trim();
410
- if (!rawValue) {
411
- currentKey = key;
412
- currentMap = {};
413
- } else frontmatter[key] = unquoteYaml(rawValue);
512
+ if (!rawValue) currentKey = key;
513
+ else frontmatter[key] = unquoteYaml(rawValue);
414
514
  }
415
- if (currentKey && currentMap) frontmatter[currentKey] = currentMap;
515
+ flushPending();
416
516
  return {
417
517
  frontmatter,
418
518
  body,
@@ -477,10 +577,46 @@ function takeString(frontmatter, key, diagnostics) {
477
577
  diagnostics.push({
478
578
  severity: "warning",
479
579
  code: "invalid-field-type",
480
- message: `Frontmatter field "${key}" expected string, got ${typeof raw}. Coerced.`,
580
+ message: `Frontmatter field "${key}" expected string, got ${Array.isArray(raw) ? "array" : typeof raw}. Skipping.`,
581
+ field: key
582
+ });
583
+ }
584
+ /**
585
+ * Accept either a YAML scalar (whitespace-separated tokens, the
586
+ * spec-canonical form) OR a YAML block / flow list (`- item` or
587
+ * `[a, b]`). Returns the field as a normalized `string[]`, or
588
+ * `undefined` when the field is absent or empty.
589
+ *
590
+ * Used for list-shaped fields like `allowed-tools` whose authoring
591
+ * surface has always been "either a space-separated string OR a
592
+ * list" in skill files in the wild (Claude Code's docs use both
593
+ * interchangeably). Pre-fix, the parser silently turned the list
594
+ * forms into `[object Object]` / `["[a", "b]"]` and the
595
+ * allowed-tools gate would never match anything — opening it wide.
596
+ *
597
+ * Diagnostics are pushed for unexpected shapes (number, plain
598
+ * object, etc.) and the field is dropped to avoid silent corruption.
599
+ */
600
+ function takeStringOrArray(frontmatter, key, diagnostics) {
601
+ const raw = frontmatter[key];
602
+ if (raw === void 0 || raw === null) return void 0;
603
+ if (Array.isArray(raw)) {
604
+ const items = raw.filter((v) => v !== null && v !== void 0).map((v) => typeof v === "string" ? v : String(v)).map((v) => v.trim()).filter((v) => v.length > 0);
605
+ return items.length > 0 ? items : void 0;
606
+ }
607
+ if (typeof raw === "string") {
608
+ const trimmed = raw.trim();
609
+ if (trimmed.length === 0) return void 0;
610
+ const flowMatch = trimmed.match(FLOW_LIST_RE);
611
+ if (flowMatch) return flowMatch[1].split(",").map((s) => s.trim()).filter(Boolean);
612
+ return trimmed.split(WHITESPACE_SPLIT_RE).filter(Boolean);
613
+ }
614
+ diagnostics.push({
615
+ severity: "warning",
616
+ code: "invalid-field-type",
617
+ message: `Frontmatter field "${key}" expected string or list, got ${typeof raw}. Skipping.`,
481
618
  field: key
482
619
  });
483
- return String(raw);
484
620
  }
485
621
  const RESOURCE_DIRS = {
486
622
  scripts: "script",
@@ -529,6 +665,7 @@ async function parseSkillFile(filePath, options = {}) {
529
665
  const absPath = resolve(filePath);
530
666
  if (!existsSync(absPath)) return null;
531
667
  const { frontmatter, body, diagnostics } = parseFrontmatter(readFileSync(absPath, "utf-8"));
668
+ normalizeKeyAliases(frontmatter, diagnostics);
532
669
  let description = takeString(frontmatter, "description", diagnostics);
533
670
  if (!description && body) {
534
671
  const firstParagraph = body.split(PARAGRAPH_SPLIT_RE)[0]?.trim();
@@ -638,8 +775,8 @@ async function parseSkillFile(filePath, options = {}) {
638
775
  });
639
776
  }
640
777
  if (Object.keys(metadata).length > 0) config.metadata = metadata;
641
- const allowedTools = takeString(frontmatter, "allowed-tools", diagnostics);
642
- if (allowedTools) config.allowedTools = allowedTools.split(WHITESPACE_SPLIT_RE).filter(Boolean);
778
+ const allowedTools = takeStringOrArray(frontmatter, "allowed-tools", diagnostics);
779
+ if (allowedTools && allowedTools.length > 0) config.allowedTools = allowedTools;
643
780
  if (diagnostics.length > 0) config.diagnostics = diagnostics;
644
781
  return config;
645
782
  }
@@ -892,4 +1029,4 @@ async function interpolateShellCommands(instructions, execution, handle) {
892
1029
  //#endregion
893
1030
  export { validateResourcePath as _, discoverSkills as a, createSkillActivationState as b, parseFrontmatter as c, escapeXml as d, IMPLICITLY_ALLOWED_SKILL_TOOLS as f, parseAllowedToolPattern as g, matchesAllowedTool as h, writeSkillsToDisk as i, parseSkillFile as l, isToolAllowedByUnion as m, resolveSkills as n, getDefaultScanPaths as o, installAllowedToolsGate as p, writeSkillToDisk as r, inferSource as s, interpolateShellCommands as t, buildCatalog as u, validateSkillForWrite as v, validateSkillName as y };
894
1031
 
895
- //# sourceMappingURL=interpolate-ERgZUxgg.js.map
1032
+ //# sourceMappingURL=interpolate-CmtjEyRJ.js.map