@kumbatio/energy-system 2.1.1 → 2.1.4
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.
- package/CHANGELOG.md +37 -1
- package/README.md +9 -4
- package/SPEC.md +14 -10
- package/api-surface.json +1 -1
- package/conformance.json +1 -1
- package/dist/compat.d.ts +1 -1
- package/dist/defer.d.ts +1 -1
- package/dist/defer.d.ts.map +1 -1
- package/dist/defer.js +12 -23
- package/dist/defer.js.map +1 -1
- package/dist/demand.d.ts +2 -2
- package/dist/demand.d.ts.map +1 -1
- package/dist/demand.js +13 -40
- package/dist/demand.js.map +1 -1
- package/dist/dom.d.ts +1 -1
- package/dist/engine.d.ts +6 -2
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +17 -23
- package/dist/engine.js.map +1 -1
- package/dist/gate.d.ts +3 -3
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +12 -45
- package/dist/gate.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/levels.d.ts +1 -1
- package/dist/levels.d.ts.map +1 -1
- package/dist/levels.js +11 -14
- package/dist/levels.js.map +1 -1
- package/dist/metrics.d.ts +1 -1
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +2 -5
- package/dist/metrics.js.map +1 -1
- package/dist/persistence.d.ts +1 -1
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +3 -2
- package/dist/persistence.js.map +1 -1
- package/dist/presence.d.ts +1 -1
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +3 -6
- package/dist/presence.js.map +1 -1
- package/dist/react.d.ts +2 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +2 -1
- package/dist/react.js.map +1 -1
- package/dist/reconcile.d.ts +1 -1
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +26 -0
- package/dist/runtime.js.map +1 -0
- package/dist/session.d.ts +2 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +11 -42
- package/dist/session.js.map +1 -1
- package/dist/strategies.d.ts +1 -1
- package/dist/strategies.d.ts.map +1 -1
- package/dist/strategies.js +30 -33
- package/dist/strategies.js.map +1 -1
- package/package.json +20 -21
- package/spec/energy-state.schema.json +5 -3
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA4E5D,MAAM,wBAAwB,GAAG,GAAG,CAAA;AACpC,MAAM,oBAAoB,GAAG,MAAM,CAAA;AACnC,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAA;AAE7C,SAAS,WAAW,CAAC,CAAc,EAAE,CAAc;IACjD,OAAO,CACL,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QACnB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;QAC3B,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QACrB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QACzB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CACtB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,SAAsB,EACtB,KAAa,EACb,eAAuB;IAEvB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAElD,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,qCAAqC,MAAM,CAAC,eAAe,CAAC,IAAI,CACnH,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAwB,EAAE;IAClE,MAAM,EACJ,YAAY,GAAG,GAAG,EAClB,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,KAAK,EACL,eAAe,GAAG,0BAA0B,EAC5C,SAAS,GAAG,IAAI,GACjB,GAAG,OAAO,CAAA;IAEX;;;OAGG;IACH,IAAI,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAA;IACvC,MAAM,cAAc,GAAG,GAAW,EAAE;QAClC,gBAAgB,KAAK,kBAAkB,EAAE,CAAA;QACzC,OAAO,gBAAgB,CAAA;IACzB,CAAC,CAAA;IAED,IACE,OAAO,eAAe,KAAK,QAAQ;QACnC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,KAAK,MAAM,CAAC,iBAAiB,CAAC;QACnF,eAAe,GAAG,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAA;IACjD,MAAM,iBAAiB,GAAoD,EAAE,CAAA;IAC7E,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB;;;;;;;;;;;OAWG;IACH,IAAI,KAAK,GAAgB,iBAAiB,CACxC,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,CAAC,EACD,iBAAiB,CAClB,CAAA;IACD,yEAAyE;IACzE,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACzB,IAAI,uBAAuB,GAAG,CAAC,CAAA;IAC/B,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,iBAA4D,CAAA;IAChE,IAAI,mBAAmB,GAAG,wBAAwB,CAAA;IAClD,IAAI,oBAA+C,CAAA;IACnD,IAAI,2BAA2B,GAAG,KAAK,CAAA;IACvC,IAAI,oBAA6B,CAAA;IACjC,MAAM,cAAc,GAIf,EAAE,CAAA;IAEP,SAAS,qBAAqB;QAC5B,KAAK,IAAI,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACjD,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,UAAU,iBAAiB,CAAC,KAAwB;QACvD,OAAO,CAAC,QAAQ,IAAI,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAA;YACtB,MAAM,eAAe,GAAG,YAAY,CAAA;YAEpC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC1B,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;gBAC9D,mBAAmB,GAAG,wBAAwB,CAAA;gBAC9C,qBAAqB,EAAE,CAAA;YACzB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,iBAAiB,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;gBACxD,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;oBACnC,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,iBAAiB,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;oBAC7D,CAAC;gBACH,CAAC;gBACD,YAAY,GAAG,KAAK,CAAA;gBAEpB,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;oBAClF,MAAM,YAAY,GAAG,mBAAmB,CAAA;oBACxC,kEAAkE;oBAClE,iDAAiD;oBACjD,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,EAAE,oBAAoB,CAAC,CAAA;oBAC7E,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;wBAClC,iBAAiB,GAAG,SAAS,CAAA;wBAC7B,YAAY,EAAE,CAAA;oBAChB,CAAC,EAAE,YAAY,CAAC,CAAA;gBAClB,CAAC;gBAED,OAAM;YACR,CAAC;QACH,CAAC;QAED,YAAY,GAAG,KAAK,CAAA;QAEpB,IAAI,CAAC,QAAQ,IAAI,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;YAC5D,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,CAAC,WAAW,IAAI,QAAQ;YAAE,OAAM;QAEpC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;QAEzE,IAAI,YAAY;YAAE,OAAM;QAExB,YAAY,GAAG,IAAI,CAAA;QACnB,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,MAAM,CAAC,IAAiB,EAAE,IAAiB;QAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACtC,IAAI,WAAW;YAAE,OAAM;QAEvB,WAAW,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC;YACH,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAA;gBAC5C,IAAI,CAAC,UAAU;oBAAE,SAAQ;gBAEzB,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAC5C,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;gBAED,MAAM,mBAAmB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;gBAC1C,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAC5C,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,WAAW,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,SAAS,UAAU,CAAC,IAAiB;QACnC,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAEtD,MAAM,IAAI,GAAG,KAAK,CAAA;QAClB,KAAK,GAAG,IAAI,CAAA;QACZ,YAAY,IAAI,CAAC,CAAA;QACjB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAClB,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,EAAE,CAAA;QAChB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,6BAA6B,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAC5C,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,MAAM,MAAM,GAAiB;QAC3B,KAAK;YACH,IAAI,OAAO,IAAI,QAAQ,IAAI,CAAC,WAAW;gBAAE,OAAM;YAC/C,OAAO,GAAG,IAAI,CAAA;YAEd,oBAAoB,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC7D,iBAAiB,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO;gBAAE,OAAM;YAEhC,IAAI,CAAC;gBACH,6BAA6B,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;oBACpE,IAAI,QAAQ;wBAAE,OAAM;oBAEpB,IAAI,UAAuB,CAAA;oBAE3B,IAAI,CAAC;wBACH,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;oBACpE,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,iBAAiB,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;wBAChE,OAAM;oBACR,CAAC;oBAED,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC;wBAAE,OAAM;oBAEtD,UAAU,CAAC,UAAU,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,iBAAiB,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QAED,QAAQ;YACN,OAAO,KAAK,CAAA;QACd,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;YAC/B,IAAI,QAAQ;gBAAE,OAAM;YAEpB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAA;YACtB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACnD,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC/C,8DAA8D;oBAC9D,qEAAqE;oBACrE,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YAED,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;QACrF,CAAC;QAED,UAAU;YACR,IAAI,QAAQ;gBAAE,OAAM;YACpB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC1D,CAAC;QAED,SAAS,CAAC,QAAQ;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;YACjB,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC,CAAA;QACH,CAAC;QAED,OAAO,CAAI,QAA+B;YACxC,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QAED,KAAK,CAAC,OAAO;YACX,IAAI,CAAC,WAAW,IAAI,QAAQ;gBAAE,OAAM;YAEpC,IAAI,MAA0B,CAAA;YAE9B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;gBACjC,2BAA2B,GAAG,IAAI,CAAA;gBAClC,oBAAoB,GAAG,SAAS,CAAA;YAClC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,oBAAoB,GAAG,GAAG,CAAA;gBAC1B,iBAAiB,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;gBAC/D,OAAM;YACR,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,QAAQ;gBAAE,OAAM;YAE/B,IAAI,UAAuB,CAAA;YAE3B,IAAI,CAAC;gBACH,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;YAC7D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,iBAAiB,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;gBACjE,OAAM;YACR,CAAC;YAED,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC;gBAAE,OAAM;YAE1C,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1E,UAAU,CAAC,UAAU,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,WAAW;gBAAE,OAAM;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC1D,CAAC;YAED,uEAAuE;YACvE,kEAAkE;YAClE,wEAAwE;YACxE,IAAI,YAAY,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBAC/C,MAAM,oBAAoB,CAAA;YAC5B,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC1D,CAAC;YAED,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,sFAAsF,EACtF,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAChC,CAAA;YACH,CAAC;YAED,MAAM,aAAa,GAAG,YAAY,CAAA;YAClC,IAAI,gBAAgB,IAAI,aAAa;gBAAE,OAAM;YAE7C,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAA;YAC1E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpD,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;YACF,YAAY,EAAE,CAAA;YACd,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAM;YAEpB,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,CAAC;gBACH,6BAA6B,EAAE,CAAA;YACjC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,iBAAiB,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;YACrE,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,YAAY,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,iBAAiB,GAAG,SAAS,CAAA;YAC/B,CAAC;YACD,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;YAC5B,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;YACrF,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;KACF,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/gate.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { EnergyEngine, EnergyEngineOptions } from './engine.
|
|
2
|
-
import type { NotificationConfig } from './strategies.
|
|
3
|
-
import type { AdaptationStrategy, EnergyLevel } from './types.
|
|
1
|
+
import type { EnergyEngine, EnergyEngineOptions } from './engine.ts';
|
|
2
|
+
import type { NotificationConfig } from './strategies.ts';
|
|
3
|
+
import type { AdaptationStrategy, EnergyLevel } from './types.ts';
|
|
4
4
|
/** Priority of a single notification intent */
|
|
5
5
|
export type NotificationPriority = 'normal' | 'high' | 'critical';
|
|
6
6
|
/** Validate that an unknown value is a valid NotificationPriority */
|
package/dist/gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAmBjE,+CAA+C;AAC/C,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAQjE,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,kCAAkC;AAClC,MAAM,MAAM,0BAA0B,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAA;AAE3E,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACrD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAA;AAEjE;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,OAAO,GAClB,cAAc,CAiBhB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IACrD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC/C,uFAAuF;IACvF,QAAQ,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;IACjD,sDAAsD;IACtD,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACpC,uDAAuD;IACvD,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,OAAO,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,cAAc,CAAA;IACtF;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IACxC,YAAY,IAAI,OAAO,CAAA;IACvB,qEAAqE;IACrE,YAAY,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACrD,6EAA6E;IAC7E,KAAK,IAAI,IAAI,CAAA;IACb;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAiPlB"}
|
package/dist/gate.js
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
|
+
import { defaultScheduler, logContainedError, resolveNow } from './runtime.js';
|
|
1
2
|
import { notificationStrategy } from './strategies.js';
|
|
2
|
-
/**
|
|
3
|
-
* Notification gate - the runtime that ENFORCES `NotificationConfig` instead
|
|
4
|
-
* of leaving it as guidance. Apps publish notification intents through the
|
|
5
|
-
* gate; the gate resolves the current energy level's config and decides
|
|
6
|
-
* whether each intent is delivered now, batched, or deferred.
|
|
7
|
-
*
|
|
8
|
-
* Design rule inherited from field evidence (GingerMail's scheduler destroyed
|
|
9
|
-
* reminders that came due while suppressed): the gate NEVER silently drops a
|
|
10
|
-
* notification. Anything not deliverable now is deferred and released when
|
|
11
|
-
* energy rises, suppression lifts, or the gate is disposed.
|
|
12
|
-
*
|
|
13
|
-
* Its mirror image matters just as much: a notification classified when it was
|
|
14
|
-
* published must not be delivered under a policy that would now refuse it.
|
|
15
|
-
* Energy and suppression both move inside an open batch window, so every held
|
|
16
|
-
* intent is re-classified whenever either changes.
|
|
17
|
-
*/
|
|
18
|
-
function logGateError(message, err) {
|
|
19
|
-
console.error(`[energy-system] ${message}`, err);
|
|
20
|
-
}
|
|
21
|
-
function freezeObject(value) {
|
|
22
|
-
return Object.freeze(value);
|
|
23
|
-
}
|
|
24
3
|
const NOTIFICATION_PRIORITIES = new Set([
|
|
25
4
|
'normal',
|
|
26
5
|
'high',
|
|
@@ -54,21 +33,6 @@ export function resolveNotificationOutcome(config, priority, suppressed) {
|
|
|
54
33
|
}
|
|
55
34
|
return config.batchInterval > 0 ? 'batched' : 'delivered';
|
|
56
35
|
}
|
|
57
|
-
const defaultScheduler = {
|
|
58
|
-
setTimeout(callback, ms) {
|
|
59
|
-
return setTimeout(callback, ms);
|
|
60
|
-
},
|
|
61
|
-
clearTimeout(handle) {
|
|
62
|
-
clearTimeout(handle);
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
function resolveNow(clock) {
|
|
66
|
-
if (typeof clock === 'function')
|
|
67
|
-
return clock;
|
|
68
|
-
if (clock?.now)
|
|
69
|
-
return () => clock.now();
|
|
70
|
-
return () => Date.now();
|
|
71
|
-
}
|
|
72
36
|
/**
|
|
73
37
|
* Create a notification gate bound to an engine. The gate re-resolves its
|
|
74
38
|
* config on every energy change and releases deferred notifications the
|
|
@@ -98,7 +62,7 @@ export function createNotificationGate(engine, options) {
|
|
|
98
62
|
return strategy.resolve(engine.getState().level);
|
|
99
63
|
}
|
|
100
64
|
function channelsFrom(config) {
|
|
101
|
-
return
|
|
65
|
+
return Object.freeze({
|
|
102
66
|
visual: config.allowVisual,
|
|
103
67
|
sound: config.allowSound,
|
|
104
68
|
vibration: config.allowVibration,
|
|
@@ -108,7 +72,7 @@ export function createNotificationGate(engine, options) {
|
|
|
108
72
|
if (notifications.length === 0)
|
|
109
73
|
return;
|
|
110
74
|
const config = currentConfig();
|
|
111
|
-
const delivery =
|
|
75
|
+
const delivery = Object.freeze({
|
|
112
76
|
notifications: Object.freeze([...notifications]),
|
|
113
77
|
reason,
|
|
114
78
|
channels: channelsFrom(config),
|
|
@@ -118,7 +82,7 @@ export function createNotificationGate(engine, options) {
|
|
|
118
82
|
onDeliver(delivery);
|
|
119
83
|
}
|
|
120
84
|
catch (err) {
|
|
121
|
-
|
|
85
|
+
logContainedError('onDeliver callback threw', err);
|
|
122
86
|
}
|
|
123
87
|
}
|
|
124
88
|
function clearBatchTimer() {
|
|
@@ -224,7 +188,7 @@ export function createNotificationGate(engine, options) {
|
|
|
224
188
|
if (!isNotificationPriority(priority)) {
|
|
225
189
|
throw new Error(`Invalid notification priority: ${String(priority)}`);
|
|
226
190
|
}
|
|
227
|
-
const notification =
|
|
191
|
+
const notification = Object.freeze({
|
|
228
192
|
priority,
|
|
229
193
|
payload: input.payload,
|
|
230
194
|
createdAt: now(),
|
|
@@ -272,16 +236,19 @@ export function createNotificationGate(engine, options) {
|
|
|
272
236
|
dispose() {
|
|
273
237
|
if (disposed)
|
|
274
238
|
return;
|
|
275
|
-
//
|
|
276
|
-
//
|
|
239
|
+
// Inert BEFORE the final delivery: `onDeliver` is host code, and a
|
|
240
|
+
// publish re-entering from it would otherwise land in a queue nothing
|
|
241
|
+
// drains again. It throws instead, which `deliver` surfaces.
|
|
242
|
+
disposed = true;
|
|
243
|
+
unsubscribe();
|
|
244
|
+
// Surface everything still held: an intent that entered the gate must
|
|
245
|
+
// always exit through onDeliver.
|
|
277
246
|
clearBatchTimer();
|
|
278
247
|
const pending = [...batch, ...deferred];
|
|
279
248
|
batch = [];
|
|
280
249
|
deferred = [];
|
|
281
250
|
batchOpenedAt = undefined;
|
|
282
251
|
deliver(pending, 'released');
|
|
283
|
-
disposed = true;
|
|
284
|
-
unsubscribe();
|
|
285
252
|
},
|
|
286
253
|
};
|
|
287
254
|
}
|
package/dist/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export type { AdaptationStrategy, CognitiveProfile, DecisionCapacity, EnergyClock, EnergyChangeListener, EnergyLevel, EnergyLevelDefinition, EnergyMetrics, EnergyPersistence, EnergyPresence, EnergyPresenceMap, EnergySource, EnergyState, FocusDuration, InterruptionTolerance, TaskComplexity, } from './types.
|
|
2
|
-
export { ENERGY_LEVEL_VALUES, ENERGY_PRESENCE_VALUES, ENERGY_SOURCE_VALUES } from './types.
|
|
3
|
-
export { UNPRODUCED_ORIGIN, UNPRODUCED_TIMESTAMP, createEnergyOrigin, createEnergyState, cycleEnergyLevel, getEnergyLevel, getEnergyLevels, isEnergyLevel, isEnergySource, isHigherEnergy, isUnproducedState, } from './levels.
|
|
4
|
-
export type { ExternalLevelCompatibility, ExternalLevelCompatibilityOptions } from './compat.
|
|
5
|
-
export { createExternalLevelCompatibility, cycleDiscreteLevel, mapToNearestDiscreteLevel, mapToNearestEnergyLevel, } from './compat.
|
|
6
|
-
export { isPreferredEnergyState } from './reconcile.
|
|
7
|
-
export { getEnergyMetrics } from './metrics.
|
|
8
|
-
export type { EnergyEngine, EnergyEngineOptions } from './engine.
|
|
9
|
-
export { createEnergyEngine } from './engine.
|
|
10
|
-
export type { AutonomyConfig, InteractionForgivenessConfig, NotificationConfig, TaskComplexityConfig, UIVisibilityConfig, } from './strategies.
|
|
11
|
-
export { autonomyStrategy, interactionForgivenessStrategy, notificationStrategy, taskComplexityStrategy, uiVisibilityStrategy, } from './strategies.
|
|
12
|
-
export type { EnergyPresenceSpec } from './presence.
|
|
13
|
-
export { createPresenceStrategy, defineEnergyPresence, isEnergyPresence, isPresenceVisible, presenceAtOrAbove, presenceAtOrBelow, resolveEnergyPresence, } from './presence.
|
|
14
|
-
export type { FocusSession, FocusSessionController, FocusSessionControllerOptions, FocusSessionEvent, FocusSessionListener, FocusSuppressible, StartFocusSessionOptions, } from './session.
|
|
15
|
-
export { createFocusSessionController, isSessionExpired, sessionRemainingMs } from './session.
|
|
16
|
-
export type { DeferralConfig, DeferralPreset, DeferralPresetOptions } from './defer.
|
|
17
|
-
export { DEFERRAL_PRESET_IDS, createDeferralPresets, deferralStrategy, resolveDeferral, } from './defer.
|
|
18
|
-
export type { AcknowledgmentDetail, DemandAcknowledgment, DemandAdmission, DemandAdmissionConfig, DemandInput, DemandOutcome, DemandOutcomeReason, OriginatorTier, } from './demand.
|
|
19
|
-
export { demandAdmissionStrategy, isOriginatorTier, resolveDemandOutcome } from './demand.
|
|
20
|
-
export type { EnergyNotification, GateScheduler, NotificationChannels, NotificationDelivery, NotificationDeliveryReason, NotificationGate, NotificationGateOptions, NotificationPriority, PublishOutcome, } from './gate.
|
|
21
|
-
export { createNotificationGate, isNotificationPriority, resolveNotificationOutcome, } from './gate.
|
|
1
|
+
export type { AdaptationStrategy, CognitiveProfile, DecisionCapacity, EnergyClock, EnergyChangeListener, EnergyLevel, EnergyLevelDefinition, EnergyMetrics, EnergyPersistence, EnergyPresence, EnergyPresenceMap, EnergySource, EnergyState, FocusDuration, InterruptionTolerance, TaskComplexity, } from './types.ts';
|
|
2
|
+
export { ENERGY_LEVEL_VALUES, ENERGY_PRESENCE_VALUES, ENERGY_SOURCE_VALUES } from './types.ts';
|
|
3
|
+
export { UNPRODUCED_ORIGIN, UNPRODUCED_TIMESTAMP, createEnergyOrigin, createEnergyState, cycleEnergyLevel, getEnergyLevel, getEnergyLevels, isEnergyLevel, isEnergySource, isHigherEnergy, isUnproducedState, } from './levels.ts';
|
|
4
|
+
export type { ExternalLevelCompatibility, ExternalLevelCompatibilityOptions } from './compat.ts';
|
|
5
|
+
export { createExternalLevelCompatibility, cycleDiscreteLevel, mapToNearestDiscreteLevel, mapToNearestEnergyLevel, } from './compat.ts';
|
|
6
|
+
export { isPreferredEnergyState } from './reconcile.ts';
|
|
7
|
+
export { getEnergyMetrics } from './metrics.ts';
|
|
8
|
+
export type { EnergyEngine, EnergyEngineOptions } from './engine.ts';
|
|
9
|
+
export { createEnergyEngine } from './engine.ts';
|
|
10
|
+
export type { AutonomyConfig, InteractionForgivenessConfig, NotificationConfig, TaskComplexityConfig, UIVisibilityConfig, } from './strategies.ts';
|
|
11
|
+
export { autonomyStrategy, interactionForgivenessStrategy, notificationStrategy, taskComplexityStrategy, uiVisibilityStrategy, } from './strategies.ts';
|
|
12
|
+
export type { EnergyPresenceSpec } from './presence.ts';
|
|
13
|
+
export { createPresenceStrategy, defineEnergyPresence, isEnergyPresence, isPresenceVisible, presenceAtOrAbove, presenceAtOrBelow, resolveEnergyPresence, } from './presence.ts';
|
|
14
|
+
export type { FocusSession, FocusSessionController, FocusSessionControllerOptions, FocusSessionEvent, FocusSessionListener, FocusSuppressible, StartFocusSessionOptions, } from './session.ts';
|
|
15
|
+
export { createFocusSessionController, isSessionExpired, sessionRemainingMs } from './session.ts';
|
|
16
|
+
export type { DeferralConfig, DeferralPreset, DeferralPresetOptions } from './defer.ts';
|
|
17
|
+
export { DEFERRAL_PRESET_IDS, createDeferralPresets, deferralStrategy, resolveDeferral, } from './defer.ts';
|
|
18
|
+
export type { AcknowledgmentDetail, DemandAcknowledgment, DemandAdmission, DemandAdmissionConfig, DemandInput, DemandOutcome, DemandOutcomeReason, OriginatorTier, } from './demand.ts';
|
|
19
|
+
export { demandAdmissionStrategy, isOriginatorTier, resolveDemandOutcome } from './demand.ts';
|
|
20
|
+
export type { EnergyNotification, GateScheduler, NotificationChannels, NotificationDelivery, NotificationDeliveryReason, NotificationGate, NotificationGateOptions, NotificationPriority, PublishOutcome, } from './gate.ts';
|
|
21
|
+
export { createNotificationGate, isNotificationPriority, resolveNotificationOutcome, } from './gate.ts';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/levels.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EnergyLevel, EnergyLevelDefinition, EnergySource, EnergyState } from './types.
|
|
1
|
+
import type { EnergyLevel, EnergyLevelDefinition, EnergySource, EnergyState } from './types.ts';
|
|
2
2
|
/** Create a unique producer identity for deterministic cross-context ordering. */
|
|
3
3
|
export declare function createEnergyOrigin(): string;
|
|
4
4
|
export declare const UNPRODUCED_ORIGIN = "0-initial";
|
package/dist/levels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM/F,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,MAAM,CAe3C;AAaD,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAC5C,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG,OAAO,CAE3F;AAwFD,kEAAkE;AAClE,wBAAgB,eAAe,IAAI,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAEhF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAIlF;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAKlE;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,YAAuB,EAC/B,SAAS,SAAa,EACtB,QAAQ,SAA2B,EACnC,MAAM,SAAwB,GAC7B,WAAW,CA+Bb;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CA0CpE"}
|
package/dist/levels.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { ENERGY_LEVEL_VALUES, ENERGY_SOURCE_VALUES } from './types.js';
|
|
2
|
-
function freezeObject(value) {
|
|
3
|
-
return Object.freeze(value);
|
|
4
|
-
}
|
|
5
2
|
let originSequence = 0;
|
|
6
3
|
let standaloneRevision = 0;
|
|
7
4
|
/** Create a unique producer identity for deterministic cross-context ordering. */
|
|
@@ -54,60 +51,60 @@ function nextStandaloneRevision() {
|
|
|
54
51
|
return standaloneRevision;
|
|
55
52
|
}
|
|
56
53
|
const LEVELS = Object.freeze([
|
|
57
|
-
|
|
54
|
+
Object.freeze({
|
|
58
55
|
value: 100,
|
|
59
56
|
key: 'peak',
|
|
60
57
|
label: 'Peak',
|
|
61
58
|
description: 'High capacity. Planning, complex decisions, creative work.',
|
|
62
|
-
cognitiveProfile:
|
|
59
|
+
cognitiveProfile: Object.freeze({
|
|
63
60
|
decisionCapacity: 'high',
|
|
64
61
|
focusDuration: 'extended',
|
|
65
62
|
taskComplexity: 'complex',
|
|
66
63
|
interruptionTolerance: 'high',
|
|
67
64
|
}),
|
|
68
65
|
}),
|
|
69
|
-
|
|
66
|
+
Object.freeze({
|
|
70
67
|
value: 75,
|
|
71
68
|
key: 'active',
|
|
72
69
|
label: 'Active',
|
|
73
70
|
description: 'Good capacity. Focused execution, problem-solving.',
|
|
74
|
-
cognitiveProfile:
|
|
71
|
+
cognitiveProfile: Object.freeze({
|
|
75
72
|
decisionCapacity: 'moderate',
|
|
76
73
|
focusDuration: 'moderate',
|
|
77
74
|
taskComplexity: 'moderate',
|
|
78
75
|
interruptionTolerance: 'moderate',
|
|
79
76
|
}),
|
|
80
77
|
}),
|
|
81
|
-
|
|
78
|
+
Object.freeze({
|
|
82
79
|
value: 50,
|
|
83
80
|
key: 'steady',
|
|
84
81
|
label: 'Steady',
|
|
85
82
|
description: 'Moderate capacity. Routine tasks, familiar work.',
|
|
86
|
-
cognitiveProfile:
|
|
83
|
+
cognitiveProfile: Object.freeze({
|
|
87
84
|
decisionCapacity: 'low',
|
|
88
85
|
focusDuration: 'short',
|
|
89
86
|
taskComplexity: 'routine',
|
|
90
87
|
interruptionTolerance: 'low',
|
|
91
88
|
}),
|
|
92
89
|
}),
|
|
93
|
-
|
|
90
|
+
Object.freeze({
|
|
94
91
|
value: 25,
|
|
95
92
|
key: 'low',
|
|
96
93
|
label: 'Low',
|
|
97
94
|
description: 'Limited capacity. Simple tasks, review, light work.',
|
|
98
|
-
cognitiveProfile:
|
|
95
|
+
cognitiveProfile: Object.freeze({
|
|
99
96
|
decisionCapacity: 'minimal',
|
|
100
97
|
focusDuration: 'minimal',
|
|
101
98
|
taskComplexity: 'simple',
|
|
102
99
|
interruptionTolerance: 'minimal',
|
|
103
100
|
}),
|
|
104
101
|
}),
|
|
105
|
-
|
|
102
|
+
Object.freeze({
|
|
106
103
|
value: 0,
|
|
107
104
|
key: 'rest',
|
|
108
105
|
label: 'Rest',
|
|
109
106
|
description: 'Recovery. Consumption only \u2014 reading, reflecting.',
|
|
110
|
-
cognitiveProfile:
|
|
107
|
+
cognitiveProfile: Object.freeze({
|
|
111
108
|
decisionCapacity: 'none',
|
|
112
109
|
focusDuration: 'none',
|
|
113
110
|
taskComplexity: 'consumption',
|
|
@@ -168,7 +165,7 @@ export function createEnergyState(level, source = 'manual', timestamp = Date.now
|
|
|
168
165
|
if (typeof origin !== 'string' || origin.trim().length === 0) {
|
|
169
166
|
throw new Error(`Invalid energy origin: ${String(origin)}`);
|
|
170
167
|
}
|
|
171
|
-
return
|
|
168
|
+
return Object.freeze({
|
|
172
169
|
level,
|
|
173
170
|
timestamp,
|
|
174
171
|
source,
|
package/dist/levels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels.js","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtE,
|
|
1
|
+
{"version":3,"file":"levels.js","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"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"}
|
package/dist/metrics.d.ts
CHANGED
package/dist/metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA0BzE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAa,GAAG,aAAa,CA0BpF"}
|
package/dist/metrics.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { getEnergyLevel, isUnproducedState } from './levels.js';
|
|
2
|
-
function freezeObject(value) {
|
|
3
|
-
return Object.freeze(value);
|
|
4
|
-
}
|
|
5
2
|
const PRODUCTIVITY_WINDOW_MINUTES = {
|
|
6
3
|
100: 120,
|
|
7
4
|
75: 90,
|
|
@@ -45,8 +42,8 @@ export function getEnergyMetrics(state, now = Date.now()) {
|
|
|
45
42
|
sustainable: state.level > 0 && state.level < 100,
|
|
46
43
|
};
|
|
47
44
|
return recoveryHintMinutes === undefined
|
|
48
|
-
?
|
|
49
|
-
:
|
|
45
|
+
? Object.freeze(base)
|
|
46
|
+
: Object.freeze({
|
|
50
47
|
...base,
|
|
51
48
|
recoveryHintMinutes,
|
|
52
49
|
});
|
package/dist/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/D,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/D,MAAM,2BAA2B,GAAgC;IAC/D,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,CAAC;CACL,CAAA;AAED,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,sBAAsB,GAAgC;IAC1D,GAAG,EAAE,EAAE;IACP,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,CAAC;CACL,CAAA;AAED,MAAM,qBAAqB,GAAyC;IAClE,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,EAAE;CACN,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IACvD;;;;OAIG;IACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IACxF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE9D,MAAM,IAAI,GAAkB;QAC1B,UAAU;QACV,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAChD,iCAAiC,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3E,6BAA6B,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC;QAClE,yBAAyB,EAAE,UAAU,CAAC,gBAAgB,CAAC,cAAc;QACrE,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG;KAClD,CAAA;IAED,OAAO,mBAAmB,KAAK,SAAS;QACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,IAAI;YACP,mBAAmB;SACpB,CAAC,CAAA;AACR,CAAC"}
|
package/dist/persistence.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAkChE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,SAAiB,GAAG,iBAAiB,CA4C/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAyB1E"}
|
package/dist/persistence.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseExternalEnergyState } from './levels.js';
|
|
2
|
+
import { logContainedError } from './runtime.js';
|
|
2
3
|
/*
|
|
3
4
|
* `null` means "nothing usable is stored", which the engine treats as a fresh
|
|
4
5
|
* install. Corrupt or schema-violating data reaches the same conclusion, but it
|
|
@@ -13,7 +14,7 @@ function parsePersistedState(source, raw) {
|
|
|
13
14
|
parsed = JSON.parse(raw);
|
|
14
15
|
}
|
|
15
16
|
catch (err) {
|
|
16
|
-
|
|
17
|
+
logContainedError(`Discarding unparseable persisted energy state (${source})`, err);
|
|
17
18
|
return null;
|
|
18
19
|
}
|
|
19
20
|
try {
|
|
@@ -26,7 +27,7 @@ function parsePersistedState(source, raw) {
|
|
|
26
27
|
catch (err) {
|
|
27
28
|
// Distinct from the unparseable case above: the bytes were JSON, the
|
|
28
29
|
// content was not an EnergyState. The thrown error carries which rule broke.
|
|
29
|
-
|
|
30
|
+
logContainedError(`Discarding malformed persisted energy state (${source})`, err);
|
|
30
31
|
return null;
|
|
31
32
|
}
|
|
32
33
|
}
|
package/dist/persistence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
|
package/dist/presence.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdaptationStrategy, EnergyLevel, EnergyPresence, EnergyPresenceMap } from './types.
|
|
1
|
+
import type { AdaptationStrategy, EnergyLevel, EnergyPresence, EnergyPresenceMap } from './types.ts';
|
|
2
2
|
/** Validate that an unknown value is a valid EnergyPresence */
|
|
3
3
|
export declare function isEnergyPresence(value: unknown): value is EnergyPresence;
|
|
4
4
|
/**
|
package/dist/presence.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGpG,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,GAAG;IAC9E,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,kBAAuB,GAAG,iBAAiB,CAkBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,GAAE,cAAyB,GAC/B,iBAAiB,CAanB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,GAAE,cAAyB,GAC/B,iBAAiB,CAanB;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,WAAW,GACjB,cAAc,CAUhB;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,kBAAkB,CAAC,cAAc,CAAC,CAoBpC"}
|
package/dist/presence.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { getEnergyLevel, getEnergyLevels, isEnergyLevel } from './levels.js';
|
|
2
2
|
import { ENERGY_PRESENCE_VALUES } from './types.js';
|
|
3
|
-
function freezeObject(value) {
|
|
4
|
-
return Object.freeze(value);
|
|
5
|
-
}
|
|
6
3
|
/** Validate that an unknown value is a valid EnergyPresence */
|
|
7
4
|
export function isEnergyPresence(value) {
|
|
8
5
|
return typeof value === 'string' && ENERGY_PRESENCE_VALUES.has(value);
|
|
@@ -34,7 +31,7 @@ export function defineEnergyPresence(spec = {}) {
|
|
|
34
31
|
}
|
|
35
32
|
entries[definition.value] = declared ?? fallback;
|
|
36
33
|
}
|
|
37
|
-
return
|
|
34
|
+
return Object.freeze(entries);
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
37
|
* Presence map for elements that need at least `min` energy.
|
|
@@ -56,7 +53,7 @@ export function presenceAtOrAbove(min, below = 'hidden') {
|
|
|
56
53
|
for (const definition of getEnergyLevels()) {
|
|
57
54
|
entries[definition.value] = definition.value >= min ? 'visible' : below;
|
|
58
55
|
}
|
|
59
|
-
return
|
|
56
|
+
return Object.freeze(entries);
|
|
60
57
|
}
|
|
61
58
|
/**
|
|
62
59
|
* Presence map for elements that only belong at low energy - recovery hints,
|
|
@@ -74,7 +71,7 @@ export function presenceAtOrBelow(max, above = 'hidden') {
|
|
|
74
71
|
for (const definition of getEnergyLevels()) {
|
|
75
72
|
entries[definition.value] = definition.value <= max ? 'visible' : above;
|
|
76
73
|
}
|
|
77
|
-
return
|
|
74
|
+
return Object.freeze(entries);
|
|
78
75
|
}
|
|
79
76
|
/** Resolve the presence of an element for a given energy level */
|
|
80
77
|
export function resolveEnergyPresence(presence, level) {
|
package/dist/presence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEnD
|
|
1
|
+
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { EnergyEngine } from './engine.
|
|
3
|
-
import type { AdaptationStrategy, EnergyChangeListener, EnergyLevel, EnergyLevelDefinition, EnergyPersistence, EnergyPresence, EnergyPresenceMap, EnergySource, EnergyState } from './types.
|
|
2
|
+
import type { EnergyEngine } from './engine.ts';
|
|
3
|
+
import type { AdaptationStrategy, EnergyChangeListener, EnergyLevel, EnergyLevelDefinition, EnergyPersistence, EnergyPresence, EnergyPresenceMap, EnergySource, EnergyState } from './types.ts';
|
|
4
4
|
export interface EnergyProviderProps {
|
|
5
5
|
/** Pre-created engine. When provided, this engine is used directly. */
|
|
6
6
|
engine?: EnergyEngine;
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
|
package/dist/react.js
CHANGED
|
@@ -4,6 +4,7 @@ import { applyEnergyLevel } from './dom.js';
|
|
|
4
4
|
import { createEnergyEngine } from './engine.js';
|
|
5
5
|
import { getEnergyLevel, getEnergyLevels } from './levels.js';
|
|
6
6
|
import { defineEnergyPresence, presenceAtOrAbove, resolveEnergyPresence } from './presence.js';
|
|
7
|
+
import { logContainedError } from './runtime.js';
|
|
7
8
|
// ── Context ──
|
|
8
9
|
const EnergyEngineContext = createContext(null);
|
|
9
10
|
const DOM_STYLE_PROPERTIES = [
|
|
@@ -20,7 +21,7 @@ function callLevelChange(listener, state, prev) {
|
|
|
20
21
|
listener(state, prev);
|
|
21
22
|
}
|
|
22
23
|
catch (err) {
|
|
23
|
-
|
|
24
|
+
logContainedError('onLevelChange listener threw', err);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
function restoreDOMProjection(target, snapshot) {
|