@agentick/core 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +39 -12
  2. package/dist/.tsbuildinfo.build +1 -1
  3. package/dist/agentick-instance.d.ts.map +1 -1
  4. package/dist/agentick-instance.js +2 -1
  5. package/dist/agentick-instance.js.map +1 -1
  6. package/dist/app/session.d.ts +5 -0
  7. package/dist/app/session.d.ts.map +1 -1
  8. package/dist/app/session.js +205 -106
  9. package/dist/app/session.js.map +1 -1
  10. package/dist/app/types.d.ts +20 -4
  11. package/dist/app/types.d.ts.map +1 -1
  12. package/dist/com/object-model.d.ts +12 -0
  13. package/dist/com/object-model.d.ts.map +1 -1
  14. package/dist/com/object-model.js +35 -3
  15. package/dist/com/object-model.js.map +1 -1
  16. package/dist/compiler/collector.d.ts.map +1 -1
  17. package/dist/compiler/collector.js +15 -5
  18. package/dist/compiler/collector.js.map +1 -1
  19. package/dist/compiler/fiber-compiler.d.ts +2 -0
  20. package/dist/compiler/fiber-compiler.d.ts.map +1 -1
  21. package/dist/compiler/fiber-compiler.js +29 -1
  22. package/dist/compiler/fiber-compiler.js.map +1 -1
  23. package/dist/compiler/index.d.ts +1 -1
  24. package/dist/compiler/index.d.ts.map +1 -1
  25. package/dist/compiler/index.js.map +1 -1
  26. package/dist/compiler/structure-renderer.d.ts.map +1 -1
  27. package/dist/compiler/structure-renderer.js +4 -15
  28. package/dist/compiler/structure-renderer.js.map +1 -1
  29. package/dist/compiler/types.d.ts +2 -10
  30. package/dist/compiler/types.d.ts.map +1 -1
  31. package/dist/compiler/types.js.map +1 -1
  32. package/dist/engine/tool-executor.d.ts +6 -1
  33. package/dist/engine/tool-executor.d.ts.map +1 -1
  34. package/dist/engine/tool-executor.js +16 -1
  35. package/dist/engine/tool-executor.js.map +1 -1
  36. package/dist/hooks/index.d.ts +2 -2
  37. package/dist/hooks/index.d.ts.map +1 -1
  38. package/dist/hooks/index.js +2 -2
  39. package/dist/hooks/index.js.map +1 -1
  40. package/dist/hooks/knob.d.ts +12 -0
  41. package/dist/hooks/knob.d.ts.map +1 -1
  42. package/dist/hooks/knob.js +32 -2
  43. package/dist/hooks/knob.js.map +1 -1
  44. package/dist/hooks/knobs-component.d.ts +1 -0
  45. package/dist/hooks/knobs-component.d.ts.map +1 -1
  46. package/dist/hooks/knobs-component.js +5 -1
  47. package/dist/hooks/knobs-component.js.map +1 -1
  48. package/dist/hooks/lifecycle.d.ts +34 -43
  49. package/dist/hooks/lifecycle.d.ts.map +1 -1
  50. package/dist/hooks/lifecycle.js +46 -43
  51. package/dist/hooks/lifecycle.js.map +1 -1
  52. package/dist/hooks/runtime-context.d.ts +18 -8
  53. package/dist/hooks/runtime-context.d.ts.map +1 -1
  54. package/dist/hooks/runtime-context.js +39 -9
  55. package/dist/hooks/runtime-context.js.map +1 -1
  56. package/dist/hooks/types.d.ts +55 -14
  57. package/dist/hooks/types.d.ts.map +1 -1
  58. package/dist/hooks/types.js.map +1 -1
  59. package/dist/index.d.ts +2 -2
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/jsx/components/timeline.d.ts.map +1 -1
  64. package/dist/jsx/components/timeline.js +5 -10
  65. package/dist/jsx/components/timeline.js.map +1 -1
  66. package/dist/jsx/jsx-runtime.d.ts +6 -0
  67. package/dist/jsx/jsx-runtime.d.ts.map +1 -1
  68. package/dist/jsx/jsx-runtime.js.map +1 -1
  69. package/dist/model/adapter-helpers.d.ts +0 -4
  70. package/dist/model/adapter-helpers.d.ts.map +1 -1
  71. package/dist/model/adapter-helpers.js +0 -9
  72. package/dist/model/adapter-helpers.js.map +1 -1
  73. package/dist/model/stream-accumulator.d.ts +4 -0
  74. package/dist/model/stream-accumulator.d.ts.map +1 -1
  75. package/dist/model/stream-accumulator.js +59 -0
  76. package/dist/model/stream-accumulator.js.map +1 -1
  77. package/dist/testing/compile-agent.d.ts +4 -3
  78. package/dist/testing/compile-agent.d.ts.map +1 -1
  79. package/dist/testing/compile-agent.js +2 -2
  80. package/dist/testing/compile-agent.js.map +1 -1
  81. package/dist/testing/mocks.d.ts +10 -0
  82. package/dist/testing/mocks.d.ts.map +1 -1
  83. package/dist/testing/mocks.js +30 -0
  84. package/dist/testing/mocks.js.map +1 -1
  85. package/dist/testing/render-agent.d.ts.map +1 -1
  86. package/dist/testing/render-agent.js +3 -11
  87. package/dist/testing/render-agent.js.map +1 -1
  88. package/dist/testing/test-runner.d.ts +7 -7
  89. package/dist/testing/test-runner.js +8 -8
  90. package/dist/tool/tool.d.ts +31 -1
  91. package/dist/tool/tool.d.ts.map +1 -1
  92. package/dist/tool/tool.js +53 -6
  93. package/dist/tool/tool.js.map +1 -1
  94. package/dist/utils/token-estimate.d.ts +4 -3
  95. package/dist/utils/token-estimate.d.ts.map +1 -1
  96. package/dist/utils/token-estimate.js +16 -15
  97. package/dist/utils/token-estimate.js.map +1 -1
  98. package/package.json +4 -4
@@ -6,10 +6,10 @@
6
6
  export { useState, useEffect, useRef, useCallback, useMemo, useContext } from "react";
7
7
  export { useCom, useTickState, COMProvider, TickStateProvider, AgentickProvider } from "./context";
8
8
  export { useComState, type UseComStateOptions } from "./com-state";
9
- export { createRuntimeStore, useRuntimeStore, RuntimeProvider, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeGetSerializableComState, storeSetDataCache, storeInvalidateData, type RuntimeStore, type CacheEntry, type SerializableCacheEntry, type KnobRegistration, type HookPersistenceOptions, } from "./runtime-context";
9
+ export { createRuntimeStore, useRuntimeStore, RuntimeProvider, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickStartCatchUp, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeRunExecutionEndCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeGetSerializableComState, storeSetDataCache, storeInvalidateData, type RuntimeStore, type CacheEntry, type SerializableCacheEntry, type KnobRegistration, type HookPersistenceOptions, } from "./runtime-context";
10
10
  export { knob, isKnob, useKnob, type KnobDescriptor, type KnobOpts, type KnobPrimitive, type KnobConstraints, } from "./knob";
11
11
  export { Knobs, useKnobsContext, useKnobsContextOptional, type KnobsContextValue, type KnobInfo, type KnobGroup, type KnobsRenderFn, } from "./knobs-component";
12
- export { useOnMount, useOnUnmount, useOnTickStart, useOnTickEnd, useAfterCompile, useContinuation, } from "./lifecycle";
12
+ export { useOnMount, useOnUnmount, useOnTickStart, useOnTickEnd, useAfterCompile, useOnExecutionEnd, useContinuation, } from "./lifecycle";
13
13
  export { useData, useInvalidateData, type UseDataOptions } from "./data";
14
14
  export { useSignal, useComputed, signal, computed, effect, createSignal, batch, untracked, isSignal, isComputed, isEffect, createCOMStateSignal, createReadonlyCOMStateSignal, runWithSignalContext, runWithSignalContextAsync, SIGNAL_SYMBOL, COMPUTED_SYMBOL, EFFECT_SYMBOL, COM_SIGNAL_SYMBOL, WATCH_SIGNAL_SYMBOL, PROPS_SIGNAL_SYMBOL, REQUIRED_INPUT_SYMBOL, type Signal, type ComputedSignal, type ReadonlySignal, type EffectRef, type SignalOptions, } from "./signal";
15
15
  export { FormatterBoundary, useFormatter, type FormatterContextValue } from "./formatter-context";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGtF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGzE,OAAO,EAEL,SAAS,EACT,WAAW,EAEX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,EAEZ,KAAK,EACL,SAAS,EAET,QAAQ,EACR,UAAU,EACV,QAAQ,EAER,oBAAoB,EACpB,4BAA4B,EAE5B,oBAAoB,EACpB,yBAAyB,EAEzB,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAErB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGtF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGzE,OAAO,EAEL,SAAS,EACT,WAAW,EAEX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,EAEZ,KAAK,EACL,SAAS,EAET,QAAQ,EACR,UAAU,EACV,QAAQ,EAER,oBAAoB,EACpB,4BAA4B,EAE5B,oBAAoB,EACpB,yBAAyB,EAEzB,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAErB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,SAAS,CAAC"}
@@ -10,12 +10,12 @@ export { useCom, useTickState, COMProvider, TickStateProvider, AgentickProvider
10
10
  // COM state hook
11
11
  export { useComState } from "./com-state";
12
12
  // Runtime context (per-session state)
13
- export { createRuntimeStore, useRuntimeStore, RuntimeProvider, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeGetSerializableComState, storeSetDataCache, storeInvalidateData, } from "./runtime-context";
13
+ export { createRuntimeStore, useRuntimeStore, RuntimeProvider, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickStartCatchUp, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeRunExecutionEndCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeGetSerializableComState, storeSetDataCache, storeInvalidateData, } from "./runtime-context";
14
14
  // Knobs
15
15
  export { knob, isKnob, useKnob, } from "./knob";
16
16
  export { Knobs, useKnobsContext, useKnobsContextOptional, } from "./knobs-component";
17
17
  // Lifecycle hooks
18
- export { useOnMount, useOnUnmount, useOnTickStart, useOnTickEnd, useAfterCompile, useContinuation, } from "./lifecycle";
18
+ export { useOnMount, useOnUnmount, useOnTickStart, useOnTickEnd, useAfterCompile, useOnExecutionEnd, useContinuation, } from "./lifecycle";
19
19
  // Data hook
20
20
  export { useData, useInvalidateData } from "./data";
21
21
  // Signal hooks and utilities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEtF,gBAAgB;AAChB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnG,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AAEnE,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,GAKR,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,EACL,eAAe,EACf,uBAAuB,GAKxB,MAAM,mBAAmB,CAAC;AAE3B,kBAAkB;AAClB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,QAAQ,CAAC;AAEzE,6BAA6B;AAC7B,OAAO;AACL,cAAc;AACd,SAAS,EACT,WAAW;AACX,8BAA8B;AAC9B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY;AACZ,yBAAyB;AACzB,KAAK,EACL,SAAS;AACT,cAAc;AACd,QAAQ,EACR,UAAU,EACV,QAAQ;AACR,wBAAwB;AACxB,oBAAoB,EACpB,4BAA4B;AAC5B,oBAAoB;AACpB,oBAAoB,EACpB,yBAAyB;AACzB,6BAA6B;AAC7B,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAOtB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAElG,kBAAkB;AAClB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,4EAA4E;AAC5E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,oDAAoD;AACpD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AAExB,QAAQ;AACR,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEtF,gBAAgB;AAChB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnG,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AAEnE,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,GAKR,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,EACL,eAAe,EACf,uBAAuB,GAKxB,MAAM,mBAAmB,CAAC;AAE3B,kBAAkB;AAClB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,QAAQ,CAAC;AAEzE,6BAA6B;AAC7B,OAAO;AACL,cAAc;AACd,SAAS,EACT,WAAW;AACX,8BAA8B;AAC9B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY;AACZ,yBAAyB;AACzB,KAAK,EACL,SAAS;AACT,cAAc;AACd,QAAQ,EACR,UAAU,EACV,QAAQ;AACR,wBAAwB;AACxB,oBAAoB,EACpB,4BAA4B;AAC5B,oBAAoB;AACpB,oBAAoB,EACpB,yBAAyB;AACzB,6BAA6B;AAC7B,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAOtB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAElG,kBAAkB;AAClB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,4EAA4E;AAC5E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,oDAAoD;AACpD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AAExB,QAAQ;AACR,cAAc,SAAS,CAAC"}
@@ -35,6 +35,7 @@ export type KnobOpts<T extends KnobPrimitive> = KnobConstraints<T> & {
35
35
  group?: string;
36
36
  required?: boolean;
37
37
  validate?: (value: T) => true | string;
38
+ momentary?: boolean;
38
39
  };
39
40
  /**
40
41
  * Descriptor carrying a knob's default value, constraints, and optional resolver.
@@ -53,6 +54,7 @@ export interface KnobDescriptor<T extends KnobPrimitive = KnobPrimitive, R = T>
53
54
  group?: string;
54
55
  required?: boolean;
55
56
  validate?: (value: T) => true | string;
57
+ momentary?: boolean;
56
58
  min?: number;
57
59
  max?: number;
58
60
  step?: number;
@@ -67,6 +69,16 @@ export declare function knob<T extends KnobPrimitive>(defaultValue: T, opts: Kno
67
69
  * Create a knob descriptor with a resolver (primitive → rich value).
68
70
  */
69
71
  export declare function knob<T extends KnobPrimitive, R>(defaultValue: T, opts: KnobOpts<T>, resolve: (value: T) => R): KnobDescriptor<T, R>;
72
+ /**
73
+ * Create a momentary knob descriptor (auto-resets to default at execution end).
74
+ *
75
+ * Use for lazy-loaded context: the model sets the knob to expand instructions,
76
+ * acts on them, and the knob resets automatically — reclaiming tokens.
77
+ */
78
+ export declare namespace knob {
79
+ function momentary<T extends KnobPrimitive>(defaultValue: T, opts: KnobOpts<T>): KnobDescriptor<T, T>;
80
+ function momentary<T extends KnobPrimitive, R>(defaultValue: T, opts: KnobOpts<T>, resolve: (value: T) => R): KnobDescriptor<T, R>;
81
+ }
70
82
  /**
71
83
  * Check if a value is a KnobDescriptor.
72
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"knob.d.ts","sourceRoot":"","sources":["../../src/hooks/knob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,QAAA,MAAM,WAAW,eAA8B,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,MAAM,GACnE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,CAAC,SAAS,MAAM,GACd;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAExC,EAAE,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;CACxC,CAAC;AAMF;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC;IAC5E,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1C,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAC7C,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACvB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAyBxB;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAE9D;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAC7C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACvB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"knob.d.ts","sourceRoot":"","sources":["../../src/hooks/knob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,QAAA,MAAM,WAAW,eAA8B,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,MAAM,GACnE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,CAAC,SAAS,MAAM,GACd;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAExC,EAAE,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAMF;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC;IAC5E,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1C,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAC7C,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACvB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AA0BxB;;;;;GAKG;AACH,yBAAiB,IAAI,CAAC;IACpB,SAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,EAC/C,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExB,SAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAClD,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACvB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAWzB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAE9D;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAC7C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACvB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAChD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC"}
@@ -30,6 +30,7 @@ export function knob(defaultValue, opts, resolve) {
30
30
  group: opts.group,
31
31
  required: opts.required,
32
32
  validate: opts.validate,
33
+ momentary: opts.momentary,
33
34
  min: opts.min,
34
35
  max: opts.max,
35
36
  step: opts.step,
@@ -37,6 +38,20 @@ export function knob(defaultValue, opts, resolve) {
37
38
  pattern: opts.pattern,
38
39
  };
39
40
  }
41
+ /**
42
+ * Create a momentary knob descriptor (auto-resets to default at execution end).
43
+ *
44
+ * Use for lazy-loaded context: the model sets the knob to expand instructions,
45
+ * acts on them, and the knob resets automatically — reclaiming tokens.
46
+ */
47
+ (function (knob) {
48
+ function momentary(defaultValue, opts, resolve) {
49
+ const descriptor = knob(defaultValue, opts, resolve);
50
+ descriptor.momentary = true;
51
+ return descriptor;
52
+ }
53
+ knob.momentary = momentary;
54
+ })(knob || (knob = {}));
40
55
  /**
41
56
  * Check if a value is a KnobDescriptor.
42
57
  */
@@ -53,6 +68,7 @@ export function useKnob(name, defaultOrDescriptor, optsOrUndefined, maybeResolve
53
68
  let group;
54
69
  let required;
55
70
  let validate;
71
+ let momentary;
56
72
  let min;
57
73
  let max;
58
74
  let step;
@@ -67,6 +83,7 @@ export function useKnob(name, defaultOrDescriptor, optsOrUndefined, maybeResolve
67
83
  group = defaultOrDescriptor.group;
68
84
  required = defaultOrDescriptor.required;
69
85
  validate = defaultOrDescriptor.validate;
86
+ momentary = defaultOrDescriptor.momentary;
70
87
  min = defaultOrDescriptor.min;
71
88
  max = defaultOrDescriptor.max;
72
89
  step = defaultOrDescriptor.step;
@@ -83,6 +100,7 @@ export function useKnob(name, defaultOrDescriptor, optsOrUndefined, maybeResolve
83
100
  group = opts.group;
84
101
  required = opts.required;
85
102
  validate = opts.validate;
103
+ momentary = opts.momentary;
86
104
  min = opts.min;
87
105
  max = opts.max;
88
106
  step = opts.step;
@@ -113,14 +131,26 @@ export function useKnob(name, defaultOrDescriptor, optsOrUndefined, maybeResolve
113
131
  step,
114
132
  maxLength,
115
133
  pattern,
134
+ momentary,
116
135
  });
117
136
  }, [name]);
118
- // Cleanup on unmount
137
+ // Cleanup on unmount + momentary reset registration
119
138
  useEffect(() => {
139
+ // Register execution-end reset for momentary knobs
140
+ let resetCb;
141
+ if (momentary) {
142
+ resetCb = (_ctx) => {
143
+ primitiveSignal.set(defaultValue);
144
+ };
145
+ store.executionEndCallbacks.add(resetCb);
146
+ }
120
147
  return () => {
121
148
  store.knobRegistry.delete(name);
149
+ if (resetCb) {
150
+ store.executionEndCallbacks.delete(resetCb);
151
+ }
122
152
  };
123
- }, [name, store]);
153
+ }, [name, store, momentary]);
124
154
  // Current value — resolved if callback provided, primitive otherwise
125
155
  const primitive = primitiveSignal();
126
156
  const value = resolve ? resolve(primitive) : primitive;
@@ -1 +1 @@
1
- {"version":3,"file":"knob.js","sourceRoot":"","sources":["../../src/hooks/knob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knob.js","sourceRoot":"","sources":["../../src/hooks/knob.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface KnobInfo {
25
25
  maxLength?: number;
26
26
  pattern?: string;
27
27
  required?: boolean;
28
+ momentary?: boolean;
28
29
  }
29
30
  export interface KnobGroup {
30
31
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"knobs-component.d.ts","sourceRoot":"","sources":["../../src/hooks/knobs-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBzE,kDAAkD;AAClD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AA0ND;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAyBlE;yBAzBe,KAAK;iCA0CiC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAG,KAAK,CAAC,YAAY;0BA2CnD,kBAAkB,KAAG,KAAK,CAAC,YAAY;;AAZtF,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;CAC/D;AA6BD;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"knobs-component.d.ts","sourceRoot":"","sources":["../../src/hooks/knobs-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBzE,kDAAkD;AAClD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AA6ND;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAyBlE;yBAzBe,KAAK;iCA0CiC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAG,KAAK,CAAC,YAAY;0BA2CnD,kBAAkB,KAAG,KAAK,CAAC,YAAY;;AAZtF,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;CAC/D;AA6BD;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,GAAG,IAAI,CAElE"}
@@ -53,6 +53,7 @@ function buildKnobInfo(reg) {
53
53
  maxLength: reg.maxLength,
54
54
  pattern: reg.pattern,
55
55
  required: reg.required,
56
+ momentary: reg.momentary,
56
57
  };
57
58
  }
58
59
  function buildGroups(knobs) {
@@ -85,8 +86,9 @@ function formatValue(value) {
85
86
  return typeof value === "string" ? `"${value}"` : String(value);
86
87
  }
87
88
  function formatKnobLine(knob) {
89
+ const typeLabel = knob.momentary ? `momentary ${knob.semanticType}` : knob.semanticType;
88
90
  const parts = [
89
- `${knob.name} [${knob.semanticType}]: ${formatValue(knob.value)} — ${knob.description}`,
91
+ `${knob.name} [${typeLabel}]: ${formatValue(knob.value)} — ${knob.description}`,
90
92
  ];
91
93
  const hints = [];
92
94
  if (knob.options?.length) {
@@ -104,6 +106,8 @@ function formatKnobLine(knob) {
104
106
  hints.push(`pattern: ${knob.pattern}`);
105
107
  if (knob.required)
106
108
  hints.push("required");
109
+ if (knob.momentary)
110
+ hints.push("resets after use");
107
111
  if (hints.length > 0) {
108
112
  parts.push(` (${hints.join(", ")})`);
109
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knobs-component.js","sourceRoot":"","sources":["../../src/hooks/knobs-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAyB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;AAE9B,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAyC3C,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAEnE,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,IAAsB;IAC/C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,QAAQ,CAAC;IACzE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,SAAS,aAAa,CAAC,GAAqB;IAC1C,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE;QACzB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;QACpC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAoC;IACvD,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE9C,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,SAAS,WAAW,CAAC,KAAgC;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,KAAK,GAAa;QACtB,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;KACxF,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB;IAC9C,MAAM,KAAK,GAAa;QACtB,yEAAyE;QACzE,EAAE;KACH,CAAC;IAEF,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACtB,8BAA8B;YAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CACrB,KAAoC,EACpC,KAAyD;IAEzD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,aAAa;IACb,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CACV,qBAAqB,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,SAAS,OAAO,KAAK,CAAC,KAAK,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,gBAAgB,IAAI,CAAC,GAAG,SAAS,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,gBAAgB,IAAI,CAAC,GAAG,SAAS,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACxE,OAAO,KAAK,CACV,cAAc,KAAK,CAAC,IAAI,2BAA2B,IAAI,CAAC,SAAS,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,SAAS,CACtG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,OAAO,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,6BAA6B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,WAAW,GAAG,UAAU,CAAC;IAC7B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,0EAA0E;IACvF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACzF,CAAC;IAEF,OAAO,EAAE,CAAC,KAAK,EAAE,GAAS,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,EAAE,QAAQ,CAAgC,iBAAiB,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,0EAA0E;CAC3E,CAAC,CAAC;AAEH,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE/C,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACzC,qCAAqC;QACrC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,CACN,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,CAAC,CAAC,WAAW,CAAC,EACd,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,KAAK,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,EAAE,QAAQ,EAA2B;IAC3E,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAsB;QACtC,KAAK;QACL,MAAM;QACN,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;KAClD,CAAC;IAEF,OAAO,CAAC,CACN,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,CAAC,CAAC,WAAW,CAAC,EACd,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,CAC5D,CAAC;AACJ,CAAC,CAAC;AAWF;;;;;;GAMG;AACH,KAAK,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,KAAyB;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"knobs-component.js","sourceRoot":"","sources":["../../src/hooks/knobs-component.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Event-driven hooks for component and tick lifecycle phases.
5
5
  * All callbacks receive data first, ctx (context) last.
6
6
  */
7
- import type { TickStartCallback, TickEndCallback, AfterCompileCallback, MountCallback, UnmountCallback } from "./types";
7
+ import type { TickStartCallback, TickEndCallback, AfterCompileCallback, ExecutionEndCallback, MountCallback, UnmountCallback } from "./types";
8
8
  /**
9
9
  * Register a callback to run when the component mounts.
10
10
  *
@@ -32,6 +32,10 @@ export declare function useOnUnmount(callback: UnmountCallback): void;
32
32
  /**
33
33
  * Register a callback to run at the start of each tick.
34
34
  *
35
+ * **Timing:** Fires on every tick the component is alive, including
36
+ * the tick in which it mounts. Newly-mounted components receive a
37
+ * catch-up call after their first render.
38
+ *
35
39
  * @example
36
40
  * ```tsx
37
41
  * useOnTickStart((tickState) => {
@@ -42,19 +46,6 @@ export declare function useOnUnmount(callback: UnmountCallback): void;
42
46
  * ctx.setState("lastTickStart", tickState.tick);
43
47
  * });
44
48
  * ```
45
- *
46
- * **Timing:** Fires from tick 2+ (the tick after the component mounts).
47
- * This follows the React lifecycle model — the component must render
48
- * before its effects can register callbacks, and `notifyTickStart`
49
- * fires before compilation.
50
- *
51
- * For first-tick setup, use `useOnMount`. For logic that must run
52
- * on every tick including the first, combine both:
53
- *
54
- * ```tsx
55
- * useOnMount((ctx) => { setupForFirstTick(ctx); });
56
- * useOnTickStart((tickState, ctx) => { setupForSubsequentTicks(tickState, ctx); });
57
- * ```
58
49
  */
59
50
  export declare function useOnTickStart(callback: TickStartCallback): void;
60
51
  /**
@@ -113,46 +104,46 @@ export declare function useOnTickEnd(callback: TickEndCallback): void;
113
104
  */
114
105
  export declare function useAfterCompile(callback: AfterCompileCallback): void;
115
106
  /**
116
- * Control whether execution continues after each tick.
107
+ * Register a callback to run when execution completes (after all ticks finish).
108
+ * Fires once per send() call, after the tick loop exits.
117
109
  *
118
- * This is the primary hook for implementing agent loops with custom termination conditions.
119
- * The callback receives TickResult and optionally COM, and should return whether to continue.
110
+ * Timing: fires after the last tick_end but before the session snapshot
111
+ * is persisted. State changes here are captured in the snapshot.
120
112
  *
121
- * The callback can:
122
- * 1. Return a boolean (true = continue, false = stop)
123
- * 2. Call result.stop(reason?) or result.continue(reason?) for control with reasons
124
- * 3. Be async for verification with external services
113
+ * @example
114
+ * ```tsx
115
+ * useOnExecutionEnd((ctx) => {
116
+ * console.log("Execution complete");
117
+ * ctx.setState("lastCompleted", Date.now());
118
+ * });
119
+ * ```
120
+ */
121
+ export declare function useOnExecutionEnd(callback: ExecutionEndCallback): void;
122
+ /**
123
+ * Control whether execution continues after each tick.
125
124
  *
126
- * @param shouldContinue - Callback that determines whether to continue execution
125
+ * `result.shouldContinue` reflects the framework's current decision
126
+ * (tool calls pending, messages queued, etc.), modified by any prior
127
+ * callbacks in the chain. Return nothing to accept it. Return a boolean,
128
+ * object, or call `result.stop()`/`result.continue()` to override.
127
129
  *
128
130
  * @example
129
131
  * ```tsx
130
- * // Simple: continue until done token
131
- * useContinuation((r) => !r.text?.includes("<DONE>"));
132
- *
133
- * // With reasons
132
+ * // Veto: stop even if framework would continue
134
133
  * useContinuation((r) => {
135
- * if (r.text?.includes("<DONE>")) {
136
- * r.stop("task-complete");
137
- * } else if (r.tick >= 10) {
138
- * r.stop("max-ticks-reached");
139
- * } else {
140
- * r.continue("still-working");
141
- * }
134
+ * if (r.tick > 50) return false;
142
135
  * });
143
136
  *
144
- * // Async verification
145
- * useContinuation(async (r) => {
146
- * const verified = await verifyWithModel(r.text);
147
- * return verified ? false : true; // stop if verified
137
+ * // Override with reason
138
+ * useContinuation((r) => {
139
+ * if (r.text?.includes("<DONE>")) return { stop: true, reason: "task-complete" };
148
140
  * });
149
141
  *
150
- * // Multiple conditions
151
- * useContinuation((r) =>
152
- * r.toolCalls.length > 0 || // pending tools
153
- * (r.tick < 10 && !r.text?.includes("DONE"))
154
- * );
142
+ * // Defer to framework (no return = no opinion)
143
+ * useContinuation((r) => {
144
+ * logger.info(`tick ${r.tick}, continuing: ${r.shouldContinue}`);
145
+ * });
155
146
  * ```
156
147
  */
157
- export declare function useContinuation(shouldContinue: TickEndCallback): void;
148
+ export declare function useContinuation(callback: TickEndCallback): void;
158
149
  //# sourceMappingURL=lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/hooks/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAUxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAY5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAgBhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAc5D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAcpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,CAErE"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/hooks/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAUxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAY5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAgBhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAc5D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAcpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CActE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAE/D"}
@@ -52,6 +52,10 @@ export function useOnUnmount(callback) {
52
52
  /**
53
53
  * Register a callback to run at the start of each tick.
54
54
  *
55
+ * **Timing:** Fires on every tick the component is alive, including
56
+ * the tick in which it mounts. Newly-mounted components receive a
57
+ * catch-up call after their first render.
58
+ *
55
59
  * @example
56
60
  * ```tsx
57
61
  * useOnTickStart((tickState) => {
@@ -62,19 +66,6 @@ export function useOnUnmount(callback) {
62
66
  * ctx.setState("lastTickStart", tickState.tick);
63
67
  * });
64
68
  * ```
65
- *
66
- * **Timing:** Fires from tick 2+ (the tick after the component mounts).
67
- * This follows the React lifecycle model — the component must render
68
- * before its effects can register callbacks, and `notifyTickStart`
69
- * fires before compilation.
70
- *
71
- * For first-tick setup, use `useOnMount`. For logic that must run
72
- * on every tick including the first, combine both:
73
- *
74
- * ```tsx
75
- * useOnMount((ctx) => { setupForFirstTick(ctx); });
76
- * useOnTickStart((tickState, ctx) => { setupForSubsequentTicks(tickState, ctx); });
77
- * ```
78
69
  */
79
70
  export function useOnTickStart(callback) {
80
71
  const store = useRuntimeStore();
@@ -170,48 +161,60 @@ export function useAfterCompile(callback) {
170
161
  }, [store]);
171
162
  }
172
163
  /**
173
- * Control whether execution continues after each tick.
164
+ * Register a callback to run when execution completes (after all ticks finish).
165
+ * Fires once per send() call, after the tick loop exits.
174
166
  *
175
- * This is the primary hook for implementing agent loops with custom termination conditions.
176
- * The callback receives TickResult and optionally COM, and should return whether to continue.
167
+ * Timing: fires after the last tick_end but before the session snapshot
168
+ * is persisted. State changes here are captured in the snapshot.
177
169
  *
178
- * The callback can:
179
- * 1. Return a boolean (true = continue, false = stop)
180
- * 2. Call result.stop(reason?) or result.continue(reason?) for control with reasons
181
- * 3. Be async for verification with external services
170
+ * @example
171
+ * ```tsx
172
+ * useOnExecutionEnd((ctx) => {
173
+ * console.log("Execution complete");
174
+ * ctx.setState("lastCompleted", Date.now());
175
+ * });
176
+ * ```
177
+ */
178
+ export function useOnExecutionEnd(callback) {
179
+ const store = useRuntimeStore();
180
+ const savedCallback = useRef(callback);
181
+ savedCallback.current = callback;
182
+ useDebugValue("onExecutionEnd registered");
183
+ useEffect(() => {
184
+ const cb = (ctx) => savedCallback.current(ctx);
185
+ store.executionEndCallbacks.add(cb);
186
+ return () => {
187
+ store.executionEndCallbacks.delete(cb);
188
+ };
189
+ }, [store]);
190
+ }
191
+ /**
192
+ * Control whether execution continues after each tick.
182
193
  *
183
- * @param shouldContinue - Callback that determines whether to continue execution
194
+ * `result.shouldContinue` reflects the framework's current decision
195
+ * (tool calls pending, messages queued, etc.), modified by any prior
196
+ * callbacks in the chain. Return nothing to accept it. Return a boolean,
197
+ * object, or call `result.stop()`/`result.continue()` to override.
184
198
  *
185
199
  * @example
186
200
  * ```tsx
187
- * // Simple: continue until done token
188
- * useContinuation((r) => !r.text?.includes("<DONE>"));
189
- *
190
- * // With reasons
201
+ * // Veto: stop even if framework would continue
191
202
  * useContinuation((r) => {
192
- * if (r.text?.includes("<DONE>")) {
193
- * r.stop("task-complete");
194
- * } else if (r.tick >= 10) {
195
- * r.stop("max-ticks-reached");
196
- * } else {
197
- * r.continue("still-working");
198
- * }
203
+ * if (r.tick > 50) return false;
199
204
  * });
200
205
  *
201
- * // Async verification
202
- * useContinuation(async (r) => {
203
- * const verified = await verifyWithModel(r.text);
204
- * return verified ? false : true; // stop if verified
206
+ * // Override with reason
207
+ * useContinuation((r) => {
208
+ * if (r.text?.includes("<DONE>")) return { stop: true, reason: "task-complete" };
205
209
  * });
206
210
  *
207
- * // Multiple conditions
208
- * useContinuation((r) =>
209
- * r.toolCalls.length > 0 || // pending tools
210
- * (r.tick < 10 && !r.text?.includes("DONE"))
211
- * );
211
+ * // Defer to framework (no return = no opinion)
212
+ * useContinuation((r) => {
213
+ * logger.info(`tick ${r.tick}, continuing: ${r.shouldContinue}`);
214
+ * });
212
215
  * ```
213
216
  */
214
- export function useContinuation(shouldContinue) {
215
- useOnTickEnd(shouldContinue);
217
+ export function useContinuation(callback) {
218
+ useOnTickEnd(callback);
216
219
  }
217
220
  //# sourceMappingURL=lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/hooks/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/hooks/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React, { type ReactNode } from "react";
8
8
  import type { CompiledStructure } from "../compiler/types";
9
- import type { TickStartCallback, TickEndCallback, AfterCompileCallback, TickResult, TickState } from "./types";
9
+ import type { TickStartCallback, TickEndCallback, AfterCompileCallback, ExecutionEndCallback, TickResult, TickState } from "./types";
10
10
  import type { COM } from "../com/object-model";
11
11
  import type { COMTimelineEntry } from "../com/types";
12
12
  /**
@@ -64,6 +64,7 @@ export interface KnobRegistration {
64
64
  step?: number;
65
65
  maxLength?: number;
66
66
  pattern?: string;
67
+ momentary?: boolean;
67
68
  }
68
69
  /**
69
70
  * Per-session runtime state.
@@ -80,6 +81,7 @@ export interface RuntimeStore {
80
81
  tickStartCallbacks: Set<TickStartCallback>;
81
82
  tickEndCallbacks: Set<TickEndCallback>;
82
83
  afterCompileCallbacks: Set<AfterCompileCallback>;
84
+ executionEndCallbacks: Set<ExecutionEndCallback>;
83
85
  /** Knob registry — all active knobs registered by useKnob */
84
86
  knobRegistry: Map<string, KnobRegistration>;
85
87
  /** Get session's full timeline (source of truth) */
@@ -120,23 +122,31 @@ export declare function storeResolvePendingData(store: RuntimeStore): Promise<vo
120
122
  * Run tick start callbacks with TickState and COM.
121
123
  */
122
124
  export declare function storeRunTickStartCallbacks(store: RuntimeStore, tickState: TickState, ctx: COM): Promise<void>;
125
+ /**
126
+ * Run tick-start catch-up for callbacks that were NOT present when
127
+ * notifyTickStart fired (i.e. newly mounted components).
128
+ */
129
+ export declare function storeRunTickStartCatchUp(store: RuntimeStore, alreadyFired: Set<TickStartCallback>, tickState: TickState, ctx: COM): Promise<void>;
123
130
  /**
124
131
  * Run tick end callbacks with TickResult and COM.
125
132
  *
126
- * Callbacks receive TickResult (data) and COM (context).
127
- * TickResult contains both data about the completed tick and control methods
128
- * (stop/continue) to influence whether execution continues.
133
+ * Callbacks are chained: each sees `result.shouldContinue` reflecting
134
+ * the accumulated decision from the framework default + prior callbacks.
135
+ *
136
+ * Returns: `true`/`false` = override, `{ stop/continue, reason }` = override
137
+ * with reason, `void` = defer (accept current `shouldContinue`).
129
138
  *
130
- * If a callback returns a boolean, it's automatically converted to a continue/stop call:
131
- * - true = result.continue()
132
- * - false = result.stop()
133
- * - void/undefined = no automatic action (callback may have called methods directly)
139
+ * Imperative `result.stop()` / `result.continue()` works identically.
134
140
  */
135
141
  export declare function storeRunTickEndCallbacks(store: RuntimeStore, result: TickResult, ctx: COM): Promise<void>;
136
142
  /**
137
143
  * Run after compile callbacks.
138
144
  */
139
145
  export declare function storeRunAfterCompileCallbacks(store: RuntimeStore, compiled: CompiledStructure, ctx: COM): Promise<void>;
146
+ /**
147
+ * Run execution end callbacks with COM.
148
+ */
149
+ export declare function storeRunExecutionEndCallbacks(store: RuntimeStore, ctx: COM): Promise<void>;
140
150
  /**
141
151
  * Clear lifecycle callbacks.
142
152
  */