@kodax-ai/kodax 0.7.93 → 0.7.94

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 (77) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +54 -18
  3. package/README_CN.md +22 -0
  4. package/dist/builtin/skill-creator/SKILL.md +5 -0
  5. package/dist/builtin/skill-creator/scripts/init-skill.js +5 -4
  6. package/dist/chunks/{agent-R7HVNARP.js → agent-Q3FB3GNZ.js} +1 -1
  7. package/dist/chunks/argument-completer-SS2Q2ZKT.js +2 -0
  8. package/dist/chunks/chunk-56CIZI5I.js +418 -0
  9. package/dist/chunks/{chunk-PRASABCC.js → chunk-6BATYA47.js} +2 -2
  10. package/dist/chunks/chunk-77PNP27P.js +92 -0
  11. package/dist/chunks/chunk-7CKGNNTU.js +383 -0
  12. package/dist/chunks/{chunk-YVG6OKN7.js → chunk-BVV3IA5W.js} +1 -1
  13. package/dist/chunks/chunk-EASGM7W7.js +687 -0
  14. package/dist/chunks/{chunk-GRWUC6H7.js → chunk-IIIAUDGW.js} +1 -1
  15. package/dist/chunks/{chunk-GH3KBC2H.js → chunk-N7HIJNJH.js} +1 -1
  16. package/dist/chunks/{chunk-XTWIGVUL.js → chunk-NGOPE4KK.js} +10 -10
  17. package/dist/chunks/chunk-NK5AWGNW.js +319 -0
  18. package/dist/chunks/{chunk-7XSZVOG7.js → chunk-UNRHTOT5.js} +134 -133
  19. package/dist/chunks/{chunk-HLZWPB32.js → chunk-YMNFQ7SQ.js} +2 -2
  20. package/dist/chunks/{chunk-JTZKC4TV.js → chunk-ZGZLSKN6.js} +214 -213
  21. package/dist/chunks/{chunk-3YOZIFSJ.js → chunk-ZKEXHAXA.js} +238 -239
  22. package/dist/chunks/{chunk-4BY53JTF.js → chunk-ZMGATMXN.js} +121 -122
  23. package/dist/chunks/{client-OVYKC3ND.js → client-4IOUU4U3.js} +1 -1
  24. package/dist/chunks/compaction-config-2DTN3OHT.js +2 -0
  25. package/dist/chunks/{construction-bootstrap-474QPSYB.js → construction-bootstrap-BL56XTNW.js} +1 -1
  26. package/dist/chunks/dist-B4CB7KHY.js +2 -0
  27. package/dist/chunks/host-7747QS3X.js +2 -0
  28. package/dist/chunks/run-manager-NLNMI3P2.js +2 -0
  29. package/dist/chunks/{utils-5J4BHNBV.js → utils-CGGQLMJS.js} +1 -1
  30. package/dist/index.d.ts +10 -10
  31. package/dist/index.js +2 -2
  32. package/dist/kodax_bootstrap.js +1 -1
  33. package/dist/kodax_cli.js +1553 -1383
  34. package/dist/runtime-worker.js +1561 -1391
  35. package/dist/sandbox-workspace-session.js +429 -260
  36. package/dist/sdk-a2a.d.ts +6 -6
  37. package/dist/sdk-a2a.js +1 -1
  38. package/dist/sdk-agent.d.ts +17 -6
  39. package/dist/sdk-agent.js +1 -1
  40. package/dist/sdk-coding.d.ts +32 -15
  41. package/dist/sdk-coding.js +1 -1
  42. package/dist/sdk-experimental-memory.js +1 -1
  43. package/dist/sdk-mcp.js +1 -1
  44. package/dist/sdk-media.js +1 -1
  45. package/dist/sdk-repl.d.ts +32 -14
  46. package/dist/sdk-repl.js +2 -2
  47. package/dist/sdk-runtime.d.ts +31 -8
  48. package/dist/sdk-runtime.js +1 -1
  49. package/dist/sdk-sandbox.d.ts +7 -0
  50. package/dist/sdk-sandbox.js +1 -1
  51. package/dist/sdk-session.d.ts +4 -4
  52. package/dist/sdk-session.js +1 -1
  53. package/dist/sdk-skills.d.ts +2 -333
  54. package/dist/sdk-skills.js +1 -1
  55. package/dist/semantic-worker.js +61 -60
  56. package/dist/types-chunks/{bash-prefix-extractor.d-BMi_TJIY.d.ts → bash-prefix-extractor.d-AOJdvO4r.d.ts} +53 -3
  57. package/dist/types-chunks/{guardrail.d-CKkoea7y.d.ts → guardrail.d-D8RyuTrv.d.ts} +1 -1
  58. package/dist/types-chunks/{public-api.d-BsZWOq3P.d.ts → public-api.d-BNmLxGnR.d.ts} +1 -1
  59. package/dist/types-chunks/{repl.d-DxD0Olm0.d.ts → repl.d-Q6Z3lV2-.d.ts} +4 -4
  60. package/dist/types-chunks/{sdk-session-BTzblJTQ.d.ts → sdk-session-BwC_i6JB.d.ts} +1 -1
  61. package/dist/types-chunks/sdk-skills-Bg1yL4i4.d.ts +335 -0
  62. package/dist/types-chunks/{shell-command-sets.d-C2cc9Hwi.d.ts → shell-command-sets.d-hkYPr4Dy.d.ts} +1 -1
  63. package/dist/types-chunks/{types.d-Dc3kwcjC.d.ts → types.d-Bdv2JoiC.d.ts} +12 -1
  64. package/dist/types-chunks/{types.d-DrtP1ceI.d.ts → types.d-CzrUifXB.d.ts} +1 -1
  65. package/dist/types-chunks/{types.d-BEMcUOng.d.ts → types.d-ssh6zRaf.d.ts} +5 -4
  66. package/dist/types-chunks/{utils.d-50Q24Few.d.ts → utils.d-Buv_Gxhi.d.ts} +3 -3
  67. package/package.json +1 -1
  68. package/dist/chunks/argument-completer-JHXUJWHC.js +0 -2
  69. package/dist/chunks/chunk-A3ZQE2BX.js +0 -519
  70. package/dist/chunks/chunk-D27EY4XC.js +0 -383
  71. package/dist/chunks/chunk-JJ2YDBSN.js +0 -415
  72. package/dist/chunks/chunk-QFV6YCIH.js +0 -92
  73. package/dist/chunks/chunk-SMVC3Q3U.js +0 -320
  74. package/dist/chunks/compaction-config-2TVSYSB4.js +0 -2
  75. package/dist/chunks/dist-H4PT2QAV.js +0 -2
  76. package/dist/chunks/host-OR3IO2A4.js +0 -2
  77. package/dist/chunks/run-manager-MNOTWIFX.js +0 -2
@@ -2,7 +2,7 @@ import { ai as KodaXGoalState, K as KodaXSessionLineage, aj as AgentActorStore,
2
2
  import { Diagnostic, Position, Location, Hover, DocumentSymbol, SymbolInformation, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall } from 'vscode-languageserver-protocol';
3
3
  import { d as KodaXTokenUsage, b as KodaXMessage, f as KodaXToolDefinition, n as KodaXWireReasoningEffort, H as KodaXTaskRoutingDecision, I as KodaXTaskType, a8 as KodaXTaskWorkIntent, a6 as KodaXTaskComplexity, D as KodaXRiskLevel, Z as KodaXHarnessProfile, s as KodaXExecutionMode, p as KodaXChildFanoutClass, o as KodaXReasoningMode, C as KodaXReviewScale } from './types.d-Cv09EdJR.js';
4
4
  import { d as AgentMessage, ag as StopHookFn, ah as AgentControllerHealth, ai as AgentExecutorPlaneBinding, A as Agent, aj as WorkflowIsolation, ak as GuardrailPermissionIntent, k as AskUserQuestionOptions, g as AskUserAnswer, i as AskUserMultiOptions, D as WorkflowEventCorrelation, n as CompactionUpdate, c as WorkflowProcessEvent, a as WorkflowEvent, G as Guardrail, al as DiscoveredInstance, K as KodaXInputArtifact, am as UnifiedLearningReviewRunner } from './controller.d-Bm1i9RVj.js';
5
- import { a as SkillDynamicContextExecutor, I as ISkillRegistry } from './types.d-BEMcUOng.js';
5
+ import { a as SkillDynamicContextExecutor, I as ISkillRegistry } from './types.d-ssh6zRaf.js';
6
6
  import { K as KodaXLlmTimeoutConfig, C as CostTracker } from './cost-tracker.d-MTAt6N7b.js';
7
7
  import { p as MemoryRecallRunner } from './types-D8OiIEwA.js';
8
8
  import { C as CapabilityKind, f as CapabilitySearchSnapshot, b as CapabilityResult } from './capability.d-K664nHOS.js';
@@ -180,6 +180,8 @@ interface ContentHashCache {
180
180
  * a new file, deferring to the soft-warning layer, etc.).
181
181
  */
182
182
  checkStale(filePath: string): StaleCheckResult;
183
+ /** Compare against content already read through a narrower filesystem capability. */
184
+ checkStaleContent(filePath: string, currentContent: string | undefined): StaleCheckResult;
183
185
  /** Record the post-edit hash so subsequent self-edits do not false-alarm. */
184
186
  recordWrite(filePath: string, newContent: string): void;
185
187
  /** Drop the recorded hash. Use on delete or when the LLM explicitly forgets. */
@@ -2392,6 +2394,9 @@ interface KodaXAgentProfile {
2392
2394
  readonly verification?: KodaXTaskVerificationContract;
2393
2395
  }
2394
2396
  type KodaXSkillProjectionConfidence = 'high' | 'medium' | 'low';
2397
+ interface KodaXSkillInvocationRuntimePolicy {
2398
+ readonly enforceAtRuntime?: boolean;
2399
+ }
2395
2400
  interface KodaXSkillInvocationContext {
2396
2401
  name: string;
2397
2402
  path: string;
@@ -2403,6 +2408,8 @@ interface KodaXSkillInvocationContext {
2403
2408
  argumentHint?: string;
2404
2409
  model?: string;
2405
2410
  hookEvents?: string[];
2411
+ /** Marker requesting trusted policy rehydration inside daemon/worker transports. */
2412
+ runtimePolicy?: KodaXSkillInvocationRuntimePolicy;
2406
2413
  expandedContent: string;
2407
2414
  }
2408
2415
  interface KodaXSkillMap {
@@ -2907,6 +2914,8 @@ interface KodaXShellSandboxPrepareInput {
2907
2914
  readonly cwd: string;
2908
2915
  readonly env: NodeJS.ProcessEnv;
2909
2916
  readonly windowsVerbatimArguments?: boolean;
2917
+ /** Internal callers may forbid the broker's ordinary host fallback. */
2918
+ readonly fallbackToNormalExecution?: boolean;
2910
2919
  /** Caller cancellation while waiting for sandbox admission/preparation. */
2911
2920
  readonly signal?: AbortSignal;
2912
2921
  /** Absolute wall-clock deadline shared with the command timeout. */
@@ -2945,6 +2954,43 @@ interface KodaXShellSandbox {
2945
2954
  readonly processTreeContainment?: 'root-exit-drains';
2946
2955
  prepare(input: KodaXShellSandboxPrepareInput): Promise<KodaXPreparedShellSandboxInvocation | undefined>;
2947
2956
  }
2957
+ interface KodaXTextFileSnapshot {
2958
+ readonly state: 'missing' | 'present';
2959
+ readonly content: string;
2960
+ /** Opaque identity for an optimistic compare-and-write conflict check. */
2961
+ readonly revision: string;
2962
+ /** Canonical backup authority bound to the opened snapshot identity. */
2963
+ readonly backupPath: string;
2964
+ }
2965
+ interface KodaXTextFileMutationRequest {
2966
+ readonly toolCallId?: string;
2967
+ readonly toolName: 'edit' | 'insert_after_anchor' | 'multi_edit' | 'undo' | 'write';
2968
+ readonly toolInput: Readonly<Record<string, unknown>>;
2969
+ readonly path: string;
2970
+ readonly signal?: AbortSignal;
2971
+ }
2972
+ /** Runtime-owned narrow filesystem capability for direct text mutation tools. */
2973
+ interface KodaXTextFileMutationSandbox {
2974
+ /** Whether this capability covers the path; uncovered paths use the legacy host fence. */
2975
+ canHandlePath?(filePath: string): boolean;
2976
+ read(input: KodaXTextFileMutationRequest): Promise<{
2977
+ readonly status: 'ok';
2978
+ readonly snapshot: KodaXTextFileSnapshot;
2979
+ } | {
2980
+ readonly status: 'unavailable';
2981
+ }>;
2982
+ write(input: KodaXTextFileMutationRequest & {
2983
+ readonly content: string;
2984
+ readonly createParentDirectories: boolean;
2985
+ readonly expectedRevision: string;
2986
+ }): Promise<{
2987
+ readonly status: 'written';
2988
+ } | {
2989
+ readonly status: 'conflict';
2990
+ } | {
2991
+ readonly status: 'unavailable';
2992
+ }>;
2993
+ }
2948
2994
  interface KodaXContextOptions {
2949
2995
  /**
2950
2996
  * Runtime-authenticated authority for permission review. Child runtimes must
@@ -3013,6 +3059,8 @@ interface KodaXContextOptions {
3013
3059
  shellExecution?: KodaXShellExecutionContract;
3014
3060
  /** Runtime-owned OS sandbox broker; never accepted from serialized model input. */
3015
3061
  shellSandbox?: KodaXShellSandbox;
3062
+ /** Runtime-owned OS-sandboxed optimistic compare-and-write path for direct text mutations. */
3063
+ textFileMutationSandbox?: KodaXTextFileMutationSandbox;
3016
3064
  /** Fail-closed host policy applied to every concrete file a read tool opens. */
3017
3065
  assertReadablePath?: (candidate: string) => void;
3018
3066
  /**
@@ -3766,6 +3814,8 @@ interface KodaXToolExecutionContext {
3766
3814
  sandbox?: KodaXSandboxOptions;
3767
3815
  /** Runtime-owned OS sandbox broker for selected concrete shell calls. */
3768
3816
  shellSandbox?: KodaXShellSandbox;
3817
+ /** Runtime-owned OS-sandboxed read/compare/write path for direct text mutations. */
3818
+ textFileMutationSandbox?: KodaXTextFileMutationSandbox;
3769
3819
  /** Structured containment metadata; never model-visible or persisted as conversation text. */
3770
3820
  reportToolSandboxObservation?: (observation: KodaXShellSandboxObservation) => void;
3771
3821
  /**
@@ -4218,5 +4268,5 @@ interface CreateBashPrefixExtractorOptions {
4218
4268
  */
4219
4269
  declare function createBashPrefixExtractor(opts: CreateBashPrefixExtractorOptions): BashPrefixExtractor;
4220
4270
 
4221
- export { ALWAYS_RESIDENT_TOOL_NAMES as A, BASH_POLICY_SPEC as a, drainPendingSwaps as b$, buildGoalRuntimeBinding as bS, consumeCompactionCooldown as bT, createBashPrefixExtractor as bU, createCompactionAntiThrashState as bV, createExternalActorTurnExecutor as bW, createLocalCodingActorControl as bX, createOutputSegmentProjection as bY, createRuntimeContextBudgetSnapshot as bZ, decideWorkflowInvocation as b_, LSP_SERVERS as ba, LspService as bc, effectiveOutputSegmentText as c0, estimateToolSchemaTokens as c1, extractCommandPrefix as c2, getDefaultLspService as c3, hasExplicitNaturalLanguageWorkflowIntent as c4, hasPendingSwap as c5, makeDisabledGoalToolsContext as c6, normalizeKodaXAgentMode as c7, planToolExposure as c8, providerResilienceConfigFromTimeouts as c9, recordCompactionSavings as ca, reduceOutputSegmentProjection as cb, resolveConstructedAgent as cc, shouldSkipLlmCompaction as cd, shutdownDefaultLspService as ce, withGoalBeforeNextTurn as cf, withGoalStopHook as cg, workflowStartOutcomeConsumesTurn as ch, CodingActorSession as d };
4222
- export type { KodaXManualTopicId as $, BashPrefixExtractor as B, CapabilityRuntimeContract as C, DiagnosticsRequest as D, ExtensionRuntimeContract as E, FailureStage as F, GoalBlockedResult as G, KodaXCompactionEndResult as H, KodaXCompactionFailureReason as I, KodaXCompactionOverride as J, KodaXActivityEventMeta as K, KodaXContextCompactionFinishedEvent as L, KodaXContextIdentity as M, KodaXContextOptions as N, KodaXContextTokenSnapshot as O, KodaXEffectiveTaskConfig as P, KodaXEvents as Q, RunScopedToolDefinition as R, KodaXFileSystemEffectLease as S, KodaXLiveEventMeta as T, KodaXManagedBudgetSnapshot as U, KodaXManagedTask as V, KodaXManagedTaskRuntimeState as W, KodaXManagedTaskStatusEvent as X, KodaXManualIndexTopic as Y, KodaXManualSource as Z, KodaXManualTopic as _, KodaXToolVisibilityPolicy as a$, KodaXManualTopicInput as a0, KodaXMemoryStrategy as a1, KodaXOptions as a2, KodaXOrchestrationVerdict as a3, KodaXOutputSegmentActiveState as a4, KodaXOutputSegmentDelta as a5, KodaXOutputSegmentMode as a6, KodaXOutputSegmentProjection as a7, KodaXOutputSegmentProjectionEvent as a8, KodaXOutputSegmentProjectionResult as a9, KodaXSidecarMessageEvent as aA, KodaXSkillDynamicContextPolicy as aB, KodaXSkillInvocationContext as aC, KodaXSkillMap as aD, KodaXSkillProjectionConfidence as aE, KodaXSkillScriptInputFile as aF, KodaXSkillScriptOutputFile as aG, KodaXSkillScriptRunInput as aH, KodaXSkillScriptRunner as aI, KodaXTaskCapabilityHint as aJ, KodaXTaskContract as aK, KodaXTaskEvidenceArtifact as aL, KodaXTaskEvidenceBundle as aM, KodaXTaskEvidenceEntry as aN, KodaXTaskRole as aO, KodaXTaskRoleAssignment as aP, KodaXTaskStatus as aQ, KodaXTaskSurface as aR, KodaXTaskToolPolicy as aS, KodaXTaskVerificationContract as aT, KodaXTaskVerificationCriterion as aU, KodaXTaskWorkItem as aV, KodaXTimeoutConfig as aW, KodaXToolEventMeta as aX, KodaXToolExecutionContext as aY, KodaXToolSandboxObservationUpdate as aZ, KodaXToolVisibilityMeta as a_, KodaXOutputSegmentStarted as aa, KodaXParentReductionContract as ab, KodaXPreparedShellSandboxInvocation as ac, KodaXPromptCacheDiagnosticEvent as ad, KodaXProviderPolicyHints as ae, KodaXRepoIntelligenceCapability as af, KodaXRepoIntelligenceMode as ag, KodaXRepoIntelligenceResolvedMode as ah, KodaXRepoIntelligenceTrace as ai, KodaXRepoIntelligenceTraceEvent as aj, KodaXRepoRoutingSignals as ak, KodaXResult as al, KodaXRoleRoundSummary as am, KodaXRuntimeVerificationContract as an, KodaXSandboxOptions as ao, KodaXSelfManualConfig as ap, KodaXSessionControl as aq, KodaXSessionMutators as ar, KodaXSessionOptions as as, KodaXShellExecutionContract as at, KodaXShellKind as au, KodaXShellProfileMode as av, KodaXShellSandbox as aw, KodaXShellSandboxBackend as ax, KodaXShellSandboxObservation as ay, KodaXShellSandboxPrepareInput as az, BashPrefixResult as b, KodaXTurnCompletedEvent as b0, KodaXTurnDeliveryKind as b1, KodaXTurnFailedEvent as b2, KodaXTurnStartedEvent as b3, KodaXUserInputPromptContext as b4, KodaXVerificationScorecard as b5, KodaXVerificationScorecardCriterion as b6, KodaXWorkflowAgentDigestEvent as b7, KodaXWorkflowEventMeta as b8, KodaXWorkflowTimeoutConfig as b9, RuntimeToolExposureMode as bA, RuntimeToolExposurePlan as bB, RuntimeToolExposurePlanInput as bC, RuntimeToolExposureReason as bD, TodoItem as bE, TodoList as bF, TodoStatus as bG, ToolSideEffect as bH, WorkflowHostPolicy as bI, WorkflowInvocationAction as bJ, WorkflowInvocationPolicyDecision as bK, WorkflowInvocationPolicyInput as bL, WorkflowInvocationSource as bM, WorkflowStartOutcome as bN, WorkflowToolHost as bO, WorkflowToolHostInlineInput as bP, WorkflowToolHostResult as bQ, WorkflowToolHostStartResult as bR, LspServerInfo as bb, LspServiceConfig as bd, ProviderExecutionState as be, ProviderRecoveryEvent as bf, ProviderResilienceConfig as bg, ProviderResiliencePolicy as bh, RecoveryAction as bi, RecoveryDecision as bj, RecoveryLadderStep as bk, RecoveryResult as bl, ResilienceClassification as bm, ResilienceErrorClass as bn, ResolveKodaXManualInput as bo, ResolveKodaXManualOptions as bp, ResolveKodaXManualResult as bq, RuntimeCompactionSkippedEvent as br, RuntimeContextBudgetBreakdown as bs, RuntimeContextBudgetRecommendation as bt, RuntimeContextBudgetSnapshot as bu, RuntimeContextBudgetSnapshotInput as bv, RuntimeContextOptimizationProfile as bw, RuntimeContextPressure as bx, RuntimeDefaultsSnapshot as by, RuntimeToolExposureDecision as bz, BoundExtensionRuntimeController as c, KodaXManagedProtocolPayload as ci, KodaXActorHost as cj, KodaXChildExecutionResult as ck, CodingActorSessionOptions as e, CompactionAntiThrashConfig as f, CompactionAntiThrashState as g, CompactionSavingsDecision as h, CompactionSavingsSample as i, CompactionSkipReason as j, CreateBashPrefixExtractorOptions as k, ExtractCommandPrefixOptions as l, GoalCompleteResult as m, GoalCreateInput as n, GoalLifecycleContext as o, GoalRuntimeBinding as p, GoalRuntimeBindingDeps as q, GoalToolsContext as r, KodaXAgentMode as s, KodaXAgentProfile as t, KodaXAgentScope as u, KodaXBudgetDisclosureZone as v, KodaXBudgetExtensionRequest as w, KodaXCanonicalAgentMode as x, KodaXChildAgentResult as y, KodaXChildContextBundle as z };
4271
+ export { ALWAYS_RESIDENT_TOOL_NAMES as A, BASH_POLICY_SPEC as a, createOutputSegmentProjection as b$, buildGoalRuntimeBinding as bV, consumeCompactionCooldown as bW, createBashPrefixExtractor as bX, createCompactionAntiThrashState as bY, createExternalActorTurnExecutor as bZ, createLocalCodingActorControl as b_, LSP_SERVERS as bd, LspService as bf, createRuntimeContextBudgetSnapshot as c0, decideWorkflowInvocation as c1, drainPendingSwaps as c2, effectiveOutputSegmentText as c3, estimateToolSchemaTokens as c4, extractCommandPrefix as c5, getDefaultLspService as c6, hasExplicitNaturalLanguageWorkflowIntent as c7, hasPendingSwap as c8, makeDisabledGoalToolsContext as c9, normalizeKodaXAgentMode as ca, planToolExposure as cb, providerResilienceConfigFromTimeouts as cc, recordCompactionSavings as cd, reduceOutputSegmentProjection as ce, resolveConstructedAgent as cf, shouldSkipLlmCompaction as cg, shutdownDefaultLspService as ch, withGoalBeforeNextTurn as ci, withGoalStopHook as cj, workflowStartOutcomeConsumesTurn as ck, CodingActorSession as d };
4272
+ export type { KodaXManualTopicId as $, BashPrefixExtractor as B, CapabilityRuntimeContract as C, DiagnosticsRequest as D, ExtensionRuntimeContract as E, FailureStage as F, GoalBlockedResult as G, KodaXCompactionEndResult as H, KodaXCompactionFailureReason as I, KodaXCompactionOverride as J, KodaXActivityEventMeta as K, KodaXContextCompactionFinishedEvent as L, KodaXContextIdentity as M, KodaXContextOptions as N, KodaXContextTokenSnapshot as O, KodaXEffectiveTaskConfig as P, KodaXEvents as Q, RunScopedToolDefinition as R, KodaXFileSystemEffectLease as S, KodaXLiveEventMeta as T, KodaXManagedBudgetSnapshot as U, KodaXManagedTask as V, KodaXManagedTaskRuntimeState as W, KodaXManagedTaskStatusEvent as X, KodaXManualIndexTopic as Y, KodaXManualSource as Z, KodaXManualTopic as _, KodaXToolExecutionContext as a$, KodaXManualTopicInput as a0, KodaXMemoryStrategy as a1, KodaXOptions as a2, KodaXOrchestrationVerdict as a3, KodaXOutputSegmentActiveState as a4, KodaXOutputSegmentDelta as a5, KodaXOutputSegmentMode as a6, KodaXOutputSegmentProjection as a7, KodaXOutputSegmentProjectionEvent as a8, KodaXOutputSegmentProjectionResult as a9, KodaXSidecarMessageEvent as aA, KodaXSkillDynamicContextPolicy as aB, KodaXSkillInvocationContext as aC, KodaXSkillMap as aD, KodaXSkillProjectionConfidence as aE, KodaXSkillScriptInputFile as aF, KodaXSkillScriptOutputFile as aG, KodaXSkillScriptRunInput as aH, KodaXSkillScriptRunner as aI, KodaXTaskCapabilityHint as aJ, KodaXTaskContract as aK, KodaXTaskEvidenceArtifact as aL, KodaXTaskEvidenceBundle as aM, KodaXTaskEvidenceEntry as aN, KodaXTaskRole as aO, KodaXTaskRoleAssignment as aP, KodaXTaskStatus as aQ, KodaXTaskSurface as aR, KodaXTaskToolPolicy as aS, KodaXTaskVerificationContract as aT, KodaXTaskVerificationCriterion as aU, KodaXTaskWorkItem as aV, KodaXTextFileMutationRequest as aW, KodaXTextFileMutationSandbox as aX, KodaXTextFileSnapshot as aY, KodaXTimeoutConfig as aZ, KodaXToolEventMeta as a_, KodaXOutputSegmentStarted as aa, KodaXParentReductionContract as ab, KodaXPreparedShellSandboxInvocation as ac, KodaXPromptCacheDiagnosticEvent as ad, KodaXProviderPolicyHints as ae, KodaXRepoIntelligenceCapability as af, KodaXRepoIntelligenceMode as ag, KodaXRepoIntelligenceResolvedMode as ah, KodaXRepoIntelligenceTrace as ai, KodaXRepoIntelligenceTraceEvent as aj, KodaXRepoRoutingSignals as ak, KodaXResult as al, KodaXRoleRoundSummary as am, KodaXRuntimeVerificationContract as an, KodaXSandboxOptions as ao, KodaXSelfManualConfig as ap, KodaXSessionControl as aq, KodaXSessionMutators as ar, KodaXSessionOptions as as, KodaXShellExecutionContract as at, KodaXShellKind as au, KodaXShellProfileMode as av, KodaXShellSandbox as aw, KodaXShellSandboxBackend as ax, KodaXShellSandboxObservation as ay, KodaXShellSandboxPrepareInput as az, BashPrefixResult as b, KodaXToolSandboxObservationUpdate as b0, KodaXToolVisibilityMeta as b1, KodaXToolVisibilityPolicy as b2, KodaXTurnCompletedEvent as b3, KodaXTurnDeliveryKind as b4, KodaXTurnFailedEvent as b5, KodaXTurnStartedEvent as b6, KodaXUserInputPromptContext as b7, KodaXVerificationScorecard as b8, KodaXVerificationScorecardCriterion as b9, RuntimeContextPressure as bA, RuntimeDefaultsSnapshot as bB, RuntimeToolExposureDecision as bC, RuntimeToolExposureMode as bD, RuntimeToolExposurePlan as bE, RuntimeToolExposurePlanInput as bF, RuntimeToolExposureReason as bG, TodoItem as bH, TodoList as bI, TodoStatus as bJ, ToolSideEffect as bK, WorkflowHostPolicy as bL, WorkflowInvocationAction as bM, WorkflowInvocationPolicyDecision as bN, WorkflowInvocationPolicyInput as bO, WorkflowInvocationSource as bP, WorkflowStartOutcome as bQ, WorkflowToolHost as bR, WorkflowToolHostInlineInput as bS, WorkflowToolHostResult as bT, WorkflowToolHostStartResult as bU, KodaXWorkflowAgentDigestEvent as ba, KodaXWorkflowEventMeta as bb, KodaXWorkflowTimeoutConfig as bc, LspServerInfo as be, LspServiceConfig as bg, ProviderExecutionState as bh, ProviderRecoveryEvent as bi, ProviderResilienceConfig as bj, ProviderResiliencePolicy as bk, RecoveryAction as bl, RecoveryDecision as bm, RecoveryLadderStep as bn, RecoveryResult as bo, ResilienceClassification as bp, ResilienceErrorClass as bq, ResolveKodaXManualInput as br, ResolveKodaXManualOptions as bs, ResolveKodaXManualResult as bt, RuntimeCompactionSkippedEvent as bu, RuntimeContextBudgetBreakdown as bv, RuntimeContextBudgetRecommendation as bw, RuntimeContextBudgetSnapshot as bx, RuntimeContextBudgetSnapshotInput as by, RuntimeContextOptimizationProfile as bz, BoundExtensionRuntimeController as c, KodaXManagedProtocolPayload as cl, KodaXActorHost as cm, KodaXChildExecutionResult as cn, CodingActorSessionOptions as e, CompactionAntiThrashConfig as f, CompactionAntiThrashState as g, CompactionSavingsDecision as h, CompactionSavingsSample as i, CompactionSkipReason as j, CreateBashPrefixExtractorOptions as k, ExtractCommandPrefixOptions as l, GoalCompleteResult as m, GoalCreateInput as n, GoalLifecycleContext as o, GoalRuntimeBinding as p, GoalRuntimeBindingDeps as q, GoalToolsContext as r, KodaXAgentMode as s, KodaXAgentProfile as t, KodaXAgentScope as u, KodaXBudgetDisclosureZone as v, KodaXBudgetExtensionRequest as w, KodaXCanonicalAgentMode as x, KodaXChildAgentResult as y, KodaXChildContextBundle as z };
@@ -4,7 +4,7 @@ import { C as CostTracker } from './cost-tracker.d-MTAt6N7b.js';
4
4
  import { Z as RunnerToolCall, _ as ToolGuardrail } from './controller.d-Bm1i9RVj.js';
5
5
  import { b as KodaXMessage } from './types.d-Cv09EdJR.js';
6
6
  import { S as SideQueryDiagnostics } from './side-query.d-DNes6rHA.js';
7
- import { bH as ToolSideEffect } from './bash-prefix-extractor.d-BMi_TJIY.js';
7
+ import { bK as ToolSideEffect } from './bash-prefix-extractor.d-AOJdvO4r.js';
8
8
 
9
9
  /**
10
10
  * FEATURE_200 Phase F (v0.7.45) — MCP domain types extracted from types.ts.
@@ -1,4 +1,4 @@
1
- import { B as BashPrefixExtractor, s as KodaXAgentMode } from './bash-prefix-extractor.d-BMi_TJIY.js';
1
+ import { B as BashPrefixExtractor, s as KodaXAgentMode } from './bash-prefix-extractor.d-AOJdvO4r.js';
2
2
  import { o as KodaXReasoningMode, b as KodaXMessage, a as KodaXTaskResultMetadata } from './types.d-Cv09EdJR.js';
3
3
  import { O as LearningSurfaceSnapshot$1, Q as LearningQuery, T as LearningPage, U as LearnedCapabilityRecord, V as LearningEvent, X as LearningSubscribeOptions, Y as CompactionReport } from './controller.d-Bm1i9RVj.js';
4
4
  import { F as KodaXSessionData, K as KodaXSessionLineage, N as KodaXSessionNavigationOptions, O as KodaXSessionRuntimeInfo, Q as KodaXSessionStorage, G as KodaXSessionEntry, b as KodaXSessionArtifactLedgerEntry, A as KodaXExtensionSessionRecord, S as KodaXSessionUiHistoryItem, P as KodaXSessionScope, a2 as AgentActorSnapshot, a3 as AgentActorSaveAttempt, C as KodaXJsonValue } from './types.d-EjZTEEVu.js';
@@ -1,8 +1,8 @@
1
- import { e as ResolvedAutoModeSettings, u as CommandDefinition, v as CommandSource, w as CommandInfo, x as Command$1, I as InteractiveContext, C as CommandCallbacks, a as CurrentConfig, y as CommandInvocationRequest, z as CommandWorkflowInvocationRequest, B as RuntimeSurfaceStatus } from './utils.d-50Q24Few.js';
2
- import { S as SessionStorage$1, b as PermissionMode, L as LearningBinding } from './public-api.d-BsZWOq3P.js';
3
- import { a2 as KodaXOptions, al as KodaXResult } from './bash-prefix-extractor.d-BMi_TJIY.js';
1
+ import { e as ResolvedAutoModeSettings, u as CommandDefinition, v as CommandSource, w as CommandInfo, x as Command$1, I as InteractiveContext, C as CommandCallbacks, a as CurrentConfig, y as CommandInvocationRequest, z as CommandWorkflowInvocationRequest, B as RuntimeSurfaceStatus } from './utils.d-Buv_Gxhi.js';
2
+ import { S as SessionStorage$1, b as PermissionMode, L as LearningBinding } from './public-api.d-BNmLxGnR.js';
3
+ import { a2 as KodaXOptions, al as KodaXResult } from './bash-prefix-extractor.d-AOJdvO4r.js';
4
4
  import { Q as KodaXSessionStorage, F as KodaXSessionData } from './types.d-EjZTEEVu.js';
5
- import { u as AutoModeStats } from './guardrail.d-CKkoea7y.js';
5
+ import { u as AutoModeStats } from './guardrail.d-D8RyuTrv.js';
6
6
 
7
7
  interface ReplRuntimePermissionGrantSuggestion {
8
8
  readonly id: string;
@@ -1,4 +1,4 @@
1
- import { j as CreatableHistoryItem, T as ToolCall } from './public-api.d-BsZWOq3P.js';
1
+ import { j as CreatableHistoryItem, T as ToolCall } from './public-api.d-BNmLxGnR.js';
2
2
  import { b as KodaXMessage, q as KodaXContentBlock } from './types.d-Cv09EdJR.js';
3
3
  import { S as KodaXSessionUiHistoryItem, W as KodaXSessionUiToolCall } from './types.d-EjZTEEVu.js';
4
4
 
@@ -0,0 +1,335 @@
1
+ import { R as ResolvedSkillSource, d as Skill, f as SkillFile, S as SkillMetadata, g as SkillFrontmatter, j as SkillPathsConfig, c as IVariableResolver, b as SkillContext, I as ISkillRegistry, k as SkillResult } from './types.d-ssh6zRaf.js';
2
+
3
+ declare function registerPluginSkillPath(skillPath: string): () => void;
4
+ declare function unregisterPluginSkillPath(skillPath: string): boolean;
5
+ declare function listPluginSkillPaths(): string[];
6
+ declare function clearPluginSkillPaths(): void;
7
+
8
+ /**
9
+ * Skill Loader - YAML Frontmatter Parsing and Skill Loading
10
+ *
11
+ * Parses SKILL.md files with YAML frontmatter and loads skill content.
12
+ * Implements fallback sanitization for non-standard YAML formats.
13
+ */
14
+
15
+ /**
16
+ * Parse SKILL.md file with YAML frontmatter
17
+ */
18
+ declare function parseSkillMarkdown(content: string): {
19
+ frontmatter: SkillFrontmatter;
20
+ body: string;
21
+ };
22
+ /**
23
+ * Load skill metadata from SKILL.md file
24
+ */
25
+ declare function loadSkillMetadata(skillDir: string, source: ResolvedSkillSource): Promise<SkillMetadata | null>;
26
+ /**
27
+ * Load full skill content
28
+ */
29
+ declare function loadFullSkill(skillDir: string, source: ResolvedSkillSource): Promise<Skill | null>;
30
+ /**
31
+ * Load a specific support file's content
32
+ */
33
+ declare function loadSkillFileContent(file: SkillFile): Promise<string>;
34
+
35
+ /**
36
+ * Skill Discovery - Multi-path skill scanning
37
+ *
38
+ * Discovers skills from multiple paths with priority handling.
39
+ * Supports nested directory discovery for monorepos.
40
+ */
41
+
42
+ /**
43
+ * Result of skill discovery
44
+ */
45
+ interface DiscoveryResult {
46
+ skills: Map<string, SkillMetadata>;
47
+ errors: Array<{
48
+ path: string;
49
+ error: string;
50
+ }>;
51
+ }
52
+ /**
53
+ * Discover all skills from configured paths
54
+ */
55
+ declare function discoverSkills(projectRoot?: string, customPaths?: Partial<SkillPathsConfig>): Promise<DiscoveryResult>;
56
+ /**
57
+ * Get nested skill paths for monorepo support
58
+ * When in a subdirectory, also check parent directories for skills
59
+ */
60
+ declare function getNestedSkillPaths(currentDir: string, projectRoot: string): string[];
61
+ /**
62
+ * Discover skills with monorepo support
63
+ */
64
+ declare function discoverSkillsWithMonorepo(currentDir: string, projectRoot: string): Promise<DiscoveryResult>;
65
+
66
+ /**
67
+ * Skill Resolver - Variable Replacement System
68
+ *
69
+ * Handles variable replacement in skill content:
70
+ * - $ARGUMENTS - All arguments
71
+ * - $0, $1, $2... - Positional arguments
72
+ * - ${VAR_NAME} - Environment variables
73
+ * - !`command` - Dynamic context injection
74
+ */
75
+
76
+ /**
77
+ * Split arguments string into positional arguments
78
+ * Handles quoted strings correctly
79
+ */
80
+ declare function parseArguments(args: string): string[];
81
+ /**
82
+ * Variable resolver implementation
83
+ */
84
+ declare class VariableResolver implements IVariableResolver {
85
+ private context;
86
+ constructor(context: SkillContext);
87
+ /**
88
+ * Resolve all variables in content
89
+ */
90
+ resolve(content: string, args: string): Promise<string>;
91
+ /**
92
+ * Replace $0, $1, $2... with positional arguments
93
+ */
94
+ private resolvePositionalArgs;
95
+ /**
96
+ * Replace $ARGUMENTS with all arguments
97
+ */
98
+ private resolveArguments;
99
+ /**
100
+ * Replace ${VAR_NAME} with environment variables
101
+ */
102
+ private resolveEnvVars;
103
+ /**
104
+ * Replace !`command` with command output (dynamic context).
105
+ *
106
+ * Three-tier dispatch (v0.7.42):
107
+ * 1. `context.disableDynamicContext === true` → throw immediately,
108
+ * surfaced to the LLM as `[Error: …]`. Host-level kill switch.
109
+ * 2. `context.executeDynamicContext` provided → route there. Embedder
110
+ * mediates shell execution (broker, audit, deny).
111
+ * 3. else → legacy built-in path (`isSafeDynamicContextCommand`
112
+ * whitelist + `execSync` with 5s timeout).
113
+ *
114
+ * The resolver inlines an `[Error: …]` placeholder for any thrown
115
+ * exception so a single bad token doesn't poison the whole skill load.
116
+ */
117
+ private resolveDynamicContext;
118
+ /**
119
+ * Execute a dynamic context command via the appropriate dispatch tier.
120
+ * See `resolveDynamicContext` JSDoc for the 3-tier ordering rationale.
121
+ */
122
+ private executeDynamicCommand;
123
+ }
124
+ /**
125
+ * Create a variable resolver for a given context
126
+ */
127
+ declare function createResolver(context: SkillContext): IVariableResolver;
128
+ /**
129
+ * Resolve skill content with arguments and context
130
+ */
131
+ declare function resolveSkillContent(content: string, args: string, context: SkillContext): Promise<string>;
132
+
133
+ /**
134
+ * Skill Registry - Progressive Disclosure and Skill Management
135
+ *
136
+ * Manages skill discovery, loading, and invocation with progressive disclosure:
137
+ * - Level 1: Metadata preloaded at startup (name, description)
138
+ * - Level 2: Full content loaded on invoke
139
+ * - Level 3: Support files loaded on demand
140
+ */
141
+
142
+ /** Format the model-visible Skill catalog from an arbitrary trusted registry. */
143
+ declare function formatSkillsSystemPrompt(skills: readonly SkillMetadata[]): string;
144
+ /**
145
+ * Skill Registry implementation
146
+ */
147
+ declare class SkillRegistry implements ISkillRegistry {
148
+ private readonly skillsByName;
149
+ private readonly fullSkillsByName;
150
+ private readonly projectRoot?;
151
+ private readonly customPaths?;
152
+ constructor(projectRoot?: string, customPaths?: Partial<SkillPathsConfig>);
153
+ /**
154
+ * Discover skills from all configured paths
155
+ */
156
+ discover(): Promise<void>;
157
+ /**
158
+ * Get skill metadata by name
159
+ */
160
+ get skills(): ReadonlyMap<string, SkillMetadata>;
161
+ /**
162
+ * Get skill metadata by name
163
+ */
164
+ get(name: string): SkillMetadata | undefined;
165
+ /**
166
+ * Load full skill content
167
+ */
168
+ loadFull(name: string): Promise<Skill>;
169
+ /**
170
+ * Explicitly invoke a skill with arguments. Model tool admission is enforced
171
+ * by the coding-layer `skill` tool before it reaches this SDK primitive.
172
+ */
173
+ invoke(name: string, args: string, context: SkillContext): Promise<SkillResult>;
174
+ /**
175
+ * Reload skills from disk
176
+ */
177
+ reload(): Promise<void>;
178
+ /**
179
+ * List all available skills
180
+ */
181
+ list(): SkillMetadata[];
182
+ /**
183
+ * List user-invocable skills (for / menu)
184
+ */
185
+ listUserInvocable(): SkillMetadata[];
186
+ /**
187
+ * Get skills formatted for system prompt injection.
188
+ *
189
+ * FEATURE_143 (v0.7.36): manifest wording hardened toward Claude
190
+ * Code-style strong constraints. The previous wording ("when a user
191
+ * request matches a skill description, use read to load the skill")
192
+ * was too soft — the LLM treated skill invocation as one option among
193
+ * many and frequently authored its own answer instead of loading the
194
+ * SKILL.md instructions. Aligns with the
195
+ * `c:/Works/claudecode/src/tools/SkillTool/prompt.ts` ruleset:
196
+ * BLOCKING REQUIREMENT to load the relevant skill BEFORE generating
197
+ * any other response when a skill matches.
198
+ *
199
+ * Filters out skills with disableModelInvocation=true (Issue 056).
200
+ */
201
+ getSystemPromptSnippet(): string;
202
+ /**
203
+ * Check if a name is a valid skill
204
+ */
205
+ has(name: string): boolean;
206
+ /**
207
+ * Get the count of discovered skills
208
+ */
209
+ get size(): number;
210
+ }
211
+ /**
212
+ * Get the global skill registry instance
213
+ *
214
+ * IMPORTANT: If projectRoot is undefined, returns existing instance without reset.
215
+ * This prevents accidental singleton reset when called without arguments.
216
+ */
217
+ declare function getSkillRegistry(projectRoot?: string, customPaths?: Partial<SkillPathsConfig>): SkillRegistry;
218
+ /**
219
+ * Initialize the skill registry and discover skills
220
+ */
221
+ declare function initializeSkillRegistry(projectRoot?: string, customPaths?: Partial<SkillPathsConfig>): Promise<SkillRegistry>;
222
+ /**
223
+ * Reset the global registry (for testing or hot reload)
224
+ */
225
+ declare function resetSkillRegistry(): void;
226
+
227
+ /**
228
+ * Skill Executor - Execution Engine
229
+ *
230
+ * Handles skill execution with support for:
231
+ * - Inline execution (default)
232
+ * - Fork execution (sub-agent)
233
+ * - Tool restrictions
234
+ */
235
+
236
+ /**
237
+ * Execution mode
238
+ */
239
+ type ExecutionMode = 'inline' | 'fork';
240
+ /**
241
+ * Execution options
242
+ */
243
+ interface ExecutionOptions {
244
+ /** Force a specific execution mode */
245
+ mode?: ExecutionMode;
246
+ /** Override model */
247
+ model?: string;
248
+ /** Override agent type (for fork mode) */
249
+ agent?: string;
250
+ /** Override allowed tools */
251
+ allowedTools?: string[];
252
+ /** Callback for inline execution */
253
+ onExecute?: (content: string, skill: Skill) => Promise<string>;
254
+ }
255
+ /**
256
+ * Skill executor class
257
+ */
258
+ declare class SkillExecutor {
259
+ private context;
260
+ constructor(context: SkillContext);
261
+ /**
262
+ * Execute a skill
263
+ */
264
+ execute(skillName: string, args: string, options?: ExecutionOptions): Promise<SkillResult>;
265
+ /**
266
+ * Execute skill inline (in current context)
267
+ */
268
+ private executeInline;
269
+ /**
270
+ * Execute skill in fork mode (sub-agent)
271
+ */
272
+ private executeFork;
273
+ /**
274
+ * Build the execution prompt
275
+ */
276
+ private buildPrompt;
277
+ /**
278
+ * Parse allowed tools string into array
279
+ */
280
+ private parseAllowedTools;
281
+ }
282
+ /**
283
+ * Create a skill executor
284
+ */
285
+ declare function createExecutor(context: SkillContext): SkillExecutor;
286
+ /**
287
+ * Execute a skill with default context
288
+ */
289
+ declare function executeSkill(skillName: string, args: string, context: SkillContext, options?: ExecutionOptions): Promise<SkillResult>;
290
+
291
+ /**
292
+ * Skill Expander - Expand skill commands for LLM context injection
293
+ *
294
+ * Takes a skill invocation and produces content that can be injected
295
+ * into the user message for LLM execution.
296
+ *
297
+ * Design based on pi-mono's _expandSkillCommand:
298
+ * - Wraps content in XML blocks for clear context
299
+ * - Includes skill metadata (name, location)
300
+ * - Resolves all variables ($ARGUMENTS, $0, etc.)
301
+ * - Handles dynamic context (!`command`)
302
+ */
303
+
304
+ /**
305
+ * Result of skill expansion
306
+ */
307
+ interface SkillExpansionResult {
308
+ /** The expanded skill content ready for LLM injection */
309
+ content: string;
310
+ /** Whether the skill has model invocation disabled */
311
+ disableModelInvocation: boolean;
312
+ /** Original skill metadata */
313
+ skill: Skill;
314
+ }
315
+ /**
316
+ * Expand a skill into LLM-ready content
317
+ *
318
+ * This function:
319
+ * 1. Resolves all variables in the skill content ($ARGUMENTS, $0, $1, etc.)
320
+ * 2. Executes dynamic context commands (!`command`)
321
+ * 3. Wraps the content in an XML block for clear context boundaries
322
+ *
323
+ * @param skill - The full skill object with content
324
+ * @param args - Raw arguments string from user input
325
+ * @param context - Execution context (working directory, session ID, etc.)
326
+ * @returns Expansion result with content ready for LLM injection
327
+ */
328
+ declare function expandSkillForLLM(skill: Skill, args: string, context: SkillContext): Promise<SkillExpansionResult>;
329
+ /**
330
+ * Format skill activation message for user display
331
+ */
332
+ declare function formatSkillActivationMessage(skillName: string, args: string): string;
333
+
334
+ export { SkillExecutor as S, VariableResolver as V, SkillRegistry as c, clearPluginSkillPaths as d, createExecutor as e, createResolver as f, discoverSkills as g, discoverSkillsWithMonorepo as h, executeSkill as i, expandSkillForLLM as j, formatSkillActivationMessage as k, formatSkillsSystemPrompt as l, getNestedSkillPaths as m, getSkillRegistry as n, initializeSkillRegistry as o, listPluginSkillPaths as p, loadFullSkill as q, loadSkillFileContent as r, loadSkillMetadata as s, parseArguments as t, parseSkillMarkdown as u, registerPluginSkillPath as v, resetSkillRegistry as w, resolveSkillContent as x, unregisterPluginSkillPath as y };
335
+ export type { DiscoveryResult as D, ExecutionMode as E, ExecutionOptions as a, SkillExpansionResult as b };
@@ -1,4 +1,4 @@
1
- import { R as RunScopedToolDefinition, B as BashPrefixExtractor } from './bash-prefix-extractor.d-BMi_TJIY.js';
1
+ import { R as RunScopedToolDefinition, B as BashPrefixExtractor } from './bash-prefix-extractor.d-AOJdvO4r.js';
2
2
 
3
3
  /**
4
4
  * Permission Utilities
@@ -17,6 +17,13 @@ import { a as KodaXTaskResultMetadata } from './types.d-Cv09EdJR.js';
17
17
  */
18
18
 
19
19
  type MessagePriority = 'user' | 'background';
20
+ /**
21
+ * Delivery owner for user prompts. Ordinary messages are runtime-deliverable.
22
+ * `host` is reserved for prompts that must re-enter a trusted host command
23
+ * pipeline (for example an explicit user Skill invocation) before any model
24
+ * can observe them.
25
+ */
26
+ type MessageDelivery = 'runtime' | 'host';
20
27
  /**
21
28
  * Delivery semantics, independent of priority:
22
29
  * - `prompt`: user-authored input; delivered as a real user turn.
@@ -40,6 +47,8 @@ interface QueuedMessage {
40
47
  */
41
48
  readonly agentId?: string;
42
49
  readonly mode: MessageMode;
50
+ /** Omitted means `runtime`; `host` messages must not be spliced into a model turn. */
51
+ readonly delivery?: MessageDelivery;
43
52
  readonly content: string;
44
53
  readonly inputArtifacts?: readonly QueuedInputArtifact[];
45
54
  readonly taskResult?: KodaXTaskResultMetadata;
@@ -126,10 +135,12 @@ type QueueEventListener = (event: QueueEvent) => void;
126
135
  interface EnqueueInput {
127
136
  readonly priority: MessagePriority;
128
137
  readonly mode: MessageMode;
138
+ /** Omitted means `runtime`; use `host` for command-pipeline-owned prompts. */
139
+ readonly delivery?: MessageDelivery;
129
140
  readonly content: string;
130
141
  readonly agentId?: string;
131
142
  readonly inputArtifacts?: readonly QueuedInputArtifact[];
132
143
  readonly taskResult?: KodaXTaskResultMetadata;
133
144
  }
134
145
 
135
- export type { DequeueFilter as D, EnqueueInput as E, MessagePriority as M, QueuedMessage as Q, QueueEventListener as a, QueuedInputArtifact as b, MessageMode as c };
146
+ export type { DequeueFilter as D, EnqueueInput as E, MessageDelivery as M, QueuedMessage as Q, QueueEventListener as a, MessagePriority as b, QueuedInputArtifact as c, MessageMode as d };
@@ -2,7 +2,7 @@ import { n as KodaXWireReasoningEffort, f as KodaXToolDefinition, R as KodaXTool
2
2
  import { K as KodaXBaseProvider } from './base.d-JjF6aKsh.js';
3
3
  import { C as CapabilityKind, a as CapabilityProvider } from './capability.d-K664nHOS.js';
4
4
  import { C as KodaXJsonValue, A as KodaXExtensionSessionRecord, a1 as KodaXExtensionStore } from './types.d-EjZTEEVu.js';
5
- import { aY as KodaXToolExecutionContext, bH as ToolSideEffect } from './bash-prefix-extractor.d-BMi_TJIY.js';
5
+ import { a$ as KodaXToolExecutionContext, bK as ToolSideEffect } from './bash-prefix-extractor.d-AOJdvO4r.js';
6
6
 
7
7
  /**
8
8
  * KodaX Constructed-World types (FEATURE_087, v0.7.28).
@@ -14,7 +14,7 @@ interface SkillFrontmatter {
14
14
  description: string;
15
15
  /** Whether to disable automatic model invocation (default: false) */
16
16
  disableModelInvocation?: boolean;
17
- /** Whether skill appears in / menu (default: true) */
17
+ /** @deprecated Enabled skills are always explicitly user-invocable. */
18
18
  userInvocable?: boolean;
19
19
  /** Tool restrictions, e.g., "Read, Grep, Bash(python:*)" */
20
20
  allowedTools?: string;
@@ -52,6 +52,7 @@ interface SkillHooks {
52
52
  interface SkillMetadata {
53
53
  name: string;
54
54
  description: string;
55
+ /** @deprecated Enabled skills always report true and support explicit invocation. */
55
56
  userInvocable: boolean;
56
57
  argumentHint?: string;
57
58
  path: string;
@@ -110,13 +111,13 @@ interface ISkillRegistry {
110
111
  get(name: string): SkillMetadata | undefined;
111
112
  /** Load full skill content */
112
113
  loadFull(name: string): Promise<Skill>;
113
- /** Invoke a skill with arguments */
114
+ /** Explicitly invoke a skill with arguments; model admission is a caller concern. */
114
115
  invoke(name: string, args: string, context: SkillContext): Promise<SkillResult>;
115
116
  /** Reload skills from disk */
116
117
  reload(): Promise<void>;
117
118
  /** List all discovered skills */
118
119
  list(): ReadonlyArray<SkillMetadata>;
119
- /** List skills that can be invoked directly by users */
120
+ /** List enabled skills available for explicit user invocation. */
120
121
  listUserInvocable(): ReadonlyArray<SkillMetadata>;
121
122
  /** Check whether a skill exists */
122
123
  has(name: string): boolean;
@@ -275,4 +276,4 @@ declare function getSkillPathsFlat(config: SkillPathsConfig): Array<{
275
276
  }>;
276
277
 
277
278
  export { getDefaultSkillPaths as m, getSkillPathsFlat as n };
278
- export type { ISkillRegistry as I, LearnedSkillDiscoveryConfig as L, ResolvedSkillSource as R, SkillMetadata as S, SkillDynamicContextExecutor as a, IVariableResolver as b, Skill as c, SkillArtifact as d, SkillContext as e, SkillFile as f, SkillFrontmatter as g, SkillHook as h, SkillHooks as i, SkillPathsConfig as j, SkillResult as k, SkillSource as l };
279
+ export type { ISkillRegistry as I, LearnedSkillDiscoveryConfig as L, ResolvedSkillSource as R, SkillMetadata as S, SkillDynamicContextExecutor as a, SkillContext as b, IVariableResolver as c, Skill as d, SkillArtifact as e, SkillFile as f, SkillFrontmatter as g, SkillHook as h, SkillHooks as i, SkillPathsConfig as j, SkillResult as k, SkillSource as l };
@@ -1,10 +1,10 @@
1
1
  import { b as KodaXMessage, o as KodaXReasoningMode, r as KodaXCustomProviderConfig, k as KodaXProviderCapabilityProfile } from './types.d-Cv09EdJR.js';
2
2
  import { N as WorkflowProcessSource } from './controller.d-Bm1i9RVj.js';
3
- import { O as KodaXContextTokenSnapshot, aB as KodaXSkillDynamicContextPolicy, s as KodaXAgentMode, ag as KodaXRepoIntelligenceMode, a2 as KodaXOptions, aC as KodaXSkillInvocationContext } from './bash-prefix-extractor.d-BMi_TJIY.js';
4
- import { f as AgentsFile, u as AutoModeStats, S as KodaXMcpServersConfig } from './guardrail.d-CKkoea7y.js';
3
+ import { O as KodaXContextTokenSnapshot, aB as KodaXSkillDynamicContextPolicy, s as KodaXAgentMode, ag as KodaXRepoIntelligenceMode, a2 as KodaXOptions, aC as KodaXSkillInvocationContext } from './bash-prefix-extractor.d-AOJdvO4r.js';
4
+ import { f as AgentsFile, u as AutoModeStats, S as KodaXMcpServersConfig } from './guardrail.d-D8RyuTrv.js';
5
5
  import * as readline from 'readline';
6
6
  import { S as KodaXSessionUiHistoryItem, K as KodaXSessionLineage, b as KodaXSessionArtifactLedgerEntry, B as KodaXExtensionSessionState, A as KodaXExtensionSessionRecord, O as KodaXSessionRuntimeInfo } from './types.d-EjZTEEVu.js';
7
- import { b as PermissionMode, L as LearningBinding, c as LearningSurfaceSnapshot } from './public-api.d-BsZWOq3P.js';
7
+ import { b as PermissionMode, L as LearningBinding, c as LearningSurfaceSnapshot } from './public-api.d-BNmLxGnR.js';
8
8
  import { SpawnSyncReturns } from 'child_process';
9
9
 
10
10
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodax-ai/kodax",
3
- "version": "0.7.93",
3
+ "version": "0.7.94",
4
4
  "description": "KodaX lightweight coding agent - TypeScript implementation with 16 built-in LLM provider aliases, published as a Node-free single-file CLI and SDK",
5
5
  "type": "module",
6
6
  "private": false,
@@ -1,2 +0,0 @@
1
- // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Ha as a,Ia as b}from"./chunk-3YOZIFSJ.js";import"./chunk-HLZWPB32.js";import"./chunk-GRWUC6H7.js";import"./chunk-4BY53JTF.js";import"./chunk-XTWIGVUL.js";import"./chunk-JJ2YDBSN.js";import"./chunk-7QBWHCIZ.js";import"./chunk-PRASABCC.js";import"./chunk-JTZKC4TV.js";import"./chunk-GH3KBC2H.js";import"./chunk-YVG6OKN7.js";import"./chunk-BHE66SP3.js";import"./chunk-7XSZVOG7.js";import"./chunk-QFV6YCIH.js";import"./chunk-ONUPGMER.js";export{a as ArgumentCompleter,b as createArgumentCompleter};