@spine-event-engine/storage-datastore 2.0.0-snapshot.21 → 2.0.0-snapshot.23
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/README.md +5 -0
- package/REFERENCE.md +41 -1
- package/dist/datastore/agent-execution.d.ts +337 -0
- package/dist/datastore/agent-execution.d.ts.map +1 -0
- package/dist/datastore/agent-execution.js +789 -0
- package/dist/datastore/agent-execution.js.map +1 -0
- package/dist/datastore/agent-history.d.ts +108 -0
- package/dist/datastore/agent-history.d.ts.map +1 -0
- package/dist/datastore/agent-history.js +219 -0
- package/dist/datastore/agent-history.js.map +1 -0
- package/dist/datastore/column-mapping.d.ts +1 -0
- package/dist/datastore/column-mapping.d.ts.map +1 -1
- package/dist/datastore/column-mapping.js +59 -1
- package/dist/datastore/column-mapping.js.map +1 -1
- package/dist/datastore/record-storage.d.ts +24 -0
- package/dist/datastore/record-storage.d.ts.map +1 -1
- package/dist/datastore/record-storage.js +43 -3
- package/dist/datastore/record-storage.js.map +1 -1
- package/dist/datastore/storage-factory.d.ts +118 -12
- package/dist/datastore/storage-factory.d.ts.map +1 -1
- package/dist/datastore/storage-factory.js +303 -0
- package/dist/datastore/storage-factory.js.map +1 -1
- package/dist/datastore/tenant-catalog.d.ts +19 -1
- package/dist/datastore/tenant-catalog.d.ts.map +1 -1
- package/dist/datastore/tenant-catalog.js +237 -2
- package/dist/datastore/tenant-catalog.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.yaml +24 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-execution.js","sourceRoot":"","sources":["../../src/datastore/agent-execution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAA4B,MAAM,2BAA2B,CAAC;AAErE,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GAMtB,MAAM,+EAA+E,CAAC;AAGvF,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GASjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,sBAAsB,GAGvB,MAAM,qBAAqB,CAAC;AAiD7B;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAwBf;IACA;IAxBnB;;OAEG;IACM,QAAQ,GAAqC,MAAM,CAAC,MAAM,CAAC;QAClE,oBAAoB,EAAE,SAAS;QAC/B,kBAAkB,EAAE,SAAS;QAC7B,kBAAkB,EAAE,SAAS;QAC7B,uBAAuB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;KACzC,CAAC,CAAC;IAEH,KAAK,GAAG,IAAI,CAAC;IAEb,MAAM,CAA4B;IAEzB,OAAO,GAAG,IAAI,OAAO,EAA4B,CAAC;IAE3D;;;;;OAKG;IACH,YACmB,KAAuC,EACvC,IAA+B;QAD/B,UAAK,GAAL,KAAK,CAAkC;QACvC,SAAI,GAAJ,IAAI,CAA2B;IAC/C,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,QAAiC;QAC3C,MAAM,GAAG,GAAG,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,0BAA0B,EAAE;YAChD,QAAQ;YACR,MAAM,EAAE,qBAAqB,CAAC,yBAAyB;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACnC,MAAM,IAAI,GACR,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACvF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC9D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAyB;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;YAC3D,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC/E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS;YAC3F,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC9E,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;YACL,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;YAC5D,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC5D,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,YAAY,CAAC,OAAyB,EAAE,IAAe;QACnE,MAAM,OAAO,GAA2B;YACtC;gBACE,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;aACpD;YACD,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;SAC5F,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAC7B,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,qBAAqB,CAAC,UAAU,CACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CACxB;aACF,CAAC,CAAC;QACL,MAAM,OAAO,GAAqC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7F,IAAI,MAAuC,CAAC;QAC5C,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,OAAO;gBACP,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACtD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAC9C,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACzF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,GAAuB;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAC3C,YAAY,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC1E,CAAC;QACF,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,GAAuB,EACvB,KAAa,EACb,SAAoB;QAEpB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,WAAW,CACvB,EAAe,EACf,GAAuB,EACvB,KAAa,EACb,SAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;YAC5F,OAAO,SAAS,CAAC;QACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACtE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,qBAAqB,CAAC,yBAAyB;YACnE,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC,uBAAuB,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SAClD,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,aAAa,CACzB,EAAe,EACf,IAAwB,EACxB,GAAuB,EACvB,GAAc;QAEd,IACE,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;YACxF,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBACxB,IAAI,CAAC,cAAc,KAAK,SAAS;gBACjC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjE,OAAO,KAAK,CAAC;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,CACL,KAAK,KAAK,SAAS;YACnB,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC9E,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,GAAuB,EAAE,KAAa,EAAE,SAAoB;QACtE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChD,IACE,IAAI,EAAE,MAAM,CAAC,cAAc,KAAK,SAAS;gBACzC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;gBAE5E,OAAO,KAAK,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,KAA2B;QACtC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,yBAAyB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,2BAA2B,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,OAAO,CAChB,EAAE,EACF,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAmC;QAChD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,yBAAyB,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CACzF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACf,CAAC;YACF,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,0BAA0B;gBACxE,MAAM,IAAI,CAAC,OAAO,CAChB,EAAE,EACF,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,GAAuB,EACvB,KAAa,EACb,mBAA+B,EAC/B,OAAkC;QAElC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC9B,EAAE,EACF,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,0BAA0B,CAAC,EAAE,EAC7E,KAAK,CACN,CAAC;YACF,MAAM,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,oBAAoB,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClF,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC,0BAA0B,CAAC;gBACtE,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,KAAK;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CACnD,EAAE,EACF;gBACE;oBACE,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC;iBAClD;gBACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;aAClD,EACD,WAAW,CACZ,CAAC;YACF,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACrC,OAAO,EAAE;gBACP;oBACE,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;iBACpD;gBACD;oBACE,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC9D;aACF;YACD,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtD,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,WAAW,CAAI,IAAqC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC1C,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAChC,KAAK,MAAM,GAAG,IAAI,MAAM;oBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAC9C,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,IAAI,CAChB,EAAe,EACf,GAAuB;QAEvB,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAC9B,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAC;QACF,IACE,KAAK,KAAK,SAAS;YACnB,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACxE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC;YAEpC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,UAAU,CACtB,EAAe,EACf,GAAuB;QAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,OAAO,CACnB,EAAe,EACf,OAAsC,EACtC,EAAM;QAEN,MAAM,GAAG,GAAG,KAAK,CACf,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAY,CAC7B,CAAC;QAClD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACK,IAAI,CACV,EAAe,EACf,OAAsC,EACtC,MAAS;QAET,IAAI,MAAM,CAAC,SAAS,KAAK,0BAA0B,CAAC,QAAQ;YAC1D,IAAI,CAAC,cAAc,CAAC,MAAyC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,SAAS,KAAK,wBAAwB,CAAC,QAAQ;YACxD,IAAI,CAAC,YAAY,CAAC,MAAuC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,OAAO,CAAC,EAAe,EAAE,GAAuB,EAAE,KAAa;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,IACE,CAAC,KAAK;YACN,IAAI,EAAE,UAAU,KAAK,KAAK;YAC1B,MAAM,EAAE,UAAU,KAAK,KAAK;YAC5B,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;YACvF,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;YAE9E,OAAO,SAAS,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CAAC,EAAe,EAAE,KAA2B,EAAE,SAAS,GAAG,IAAI;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IACE,IAAI,KAAK,SAAS;YAClB,CAAC,oBAAoB,CAAC,SAAS,CAC7B,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,EACjD,KAAK,CAAC,mBAAmB,CAC1B;YAED,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,IAAwB,EAAE,MAA4B;QAC3E,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,SAAS,CACrB,EAAe,EACf,GAAuB,EACvB,OAA4B;QAE5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO;aACX,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,qBAAqB,CAAC,KAAK,CACzB,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CACpF,KAAK,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC;YACxC,CAAC,OAAO,KAAK,SAAS;gBACpB,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAC/E,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CACjD;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpB,oBAAoB,CAAC,WAAW,CAC9B,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACrE,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CACvE,CACF,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CACzB,EAAe,EACf,KAA+C,EAC/C,MAAc;QAEd,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CACpD,EAAE,EACF;YACE;gBACE,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAClE;YACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;SACrD,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,OAAO,CACnB,EAAe,EACf,IAAwB,EACxB,GAAuB,EACvB,KAAoD;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,aAAa,CACzB,EAAe,EACf,GAAuB,EACvB,OAAqC;QAErC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;gBAC9E,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CACvC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EACjD,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAChD,KAAK,CACN,CAAC;YACF,IACE,mBAAmB,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBAEhC,MAAM,IAAI,UAAU,CAAC,iEAAiE,CAAC,CAAC;YAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,SAAS,CACrB,EAAe,EACf,OAAsC,EACtC,MAAS;QAET,MAAM,GAAG,GAAG,KAAK,CACf,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAY,CACxC,CAAC;QAClD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAC1B,EAAe,EACf,KAAmC,EACnC,QAAgB;QAEhB,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QAChF,MAAM,EAAE,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,EAAE,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,QAAQ;YAC9C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE;YAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAC1B,MAAiE,EACjE,EAAK;QAEL,IACE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;YAC3E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAE1E,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,KAAmC,EACnC,KAA2B;QAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,IACE,UAAU,EAAE,cAAc,KAAK,SAAS;YACxC,UAAU,CAAC,gBAAgB,KAAK,SAAS;YACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEvE,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;QAC3F,IACE,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,uBAAuB;YAC9D,CAAC;gBACC,qBAAqB,CAAC,0BAA0B;gBAChD,qBAAqB,CAAC,2CAA2C;aAClE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAE7B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjD,IACE,KAAK,CAAC,YAAY,KAAK,SAAS;YAC9B,CAAC,CAAC,KAAK,KAAK,OAAO;YACnB,CAAC,CAAC,KAAK,KAAK,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK;YAE9E,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,MAA4B;QACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/D,IACE,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;YACrF,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI;YACjD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI;YAEhD,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;QACpF,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YACzE,MAAM,IAAI,UAAU,CAAC,mEAAmE,CAAC,CAAC;IAC9F,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,IAAwB;QAC3C,IACE,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,IAAI,CAAC,UAAU,KAAK,SAAS;YAC7B,qBAAqB,CAAC,UAAU,CAC9B,IAAI,CAAC,UAAU,EACf,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAC7C,CAAC,MAAM,GAAG,IAAI;YAEf,MAAM,IAAI,UAAU,CAAC,oEAAoE,CAAC,CAAC;QAC7F,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YACnE,MAAM,IAAI,UAAU,CAAC,iEAAiE,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAChF,CAAC;CACF;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAuB;IAC3C,OAAO,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAwC,EAAE,GAAuB;IACtF,IACE,MAAM,KAAK,SAAS;QACpB,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC/E,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;QAEvC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,OAAiD;IAEjD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,IAA0B;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QACnB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACb,KAAK;QACL,MAAM,CAAC,UAAU,CACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE,CAChD,KAAK,YAAY,UAAU;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClB,CAAC,CAAC,KAAK,CACZ,EACD,MAAM,CACP,EACH,CAAC,CACF,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;QACzB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { AgentHistoryEntry } from "@spine-event-engine/proto/agent";
|
|
2
|
+
import type { AgentHistoryRecord } from "@spine-event-engine/proto/generated/spine/server/agent/history_record_pb.js";
|
|
3
|
+
import { type AgentHistoryPage, type AgentHistoryRead, type AgentHistoryStorage, type AgentHistoryStorageInput } from "@spine-event-engine/storage/provider";
|
|
4
|
+
import { DatastoreRecordStorage } from "./record-storage.js";
|
|
5
|
+
/**
|
|
6
|
+
* Hashes complete identities into bounded physical IDs and indexed scope keys.
|
|
7
|
+
*/
|
|
8
|
+
export declare const AgentHistoryHash: {
|
|
9
|
+
/**
|
|
10
|
+
* Calculates the fixed-width digest of a complete logical identity.
|
|
11
|
+
*
|
|
12
|
+
* @param value Complete logical identity.
|
|
13
|
+
* @returns Full SHA-256 hex digest.
|
|
14
|
+
*/
|
|
15
|
+
value(value: string): string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Stores Agent history in the shared Datastore immutable record kind.
|
|
19
|
+
*
|
|
20
|
+
* @typeParam Id Typed Agent identifier.
|
|
21
|
+
*/
|
|
22
|
+
export declare class DatastoreAgentHistory<Id> implements AgentHistoryStorage<Id> {
|
|
23
|
+
#private;
|
|
24
|
+
private readonly input;
|
|
25
|
+
private readonly records;
|
|
26
|
+
/**
|
|
27
|
+
* Binds one typed Agent repository to the provider record handle.
|
|
28
|
+
*
|
|
29
|
+
* @param input Repository and complete tenant scope.
|
|
30
|
+
* @param records Native record-family storage.
|
|
31
|
+
*/
|
|
32
|
+
constructor(input: AgentHistoryStorageInput<Id>, records: DatastoreRecordStorage<string, AgentHistoryRecord>);
|
|
33
|
+
/**
|
|
34
|
+
* Writes one original entry or confirms byte-identical content.
|
|
35
|
+
*
|
|
36
|
+
* @param entityId Typed Agent identifier.
|
|
37
|
+
* @param entry Complete history entry.
|
|
38
|
+
* @returns Completion after immutable storage confirms the entry.
|
|
39
|
+
*/
|
|
40
|
+
append(entityId: Id, entry: AgentHistoryEntry): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Reads a bounded indexed page in full Timestamp/category/UTF-8 order.
|
|
43
|
+
*
|
|
44
|
+
* @param request Typed Agent, view, continuation, and response limits.
|
|
45
|
+
* @returns Original entries and continuation status.
|
|
46
|
+
*/
|
|
47
|
+
read(request: AgentHistoryRead<Id>): Promise<AgentHistoryPage>;
|
|
48
|
+
/**
|
|
49
|
+
|
|
50
|
+
* Closes this handle without deleting stored records.
|
|
51
|
+
|
|
52
|
+
*/
|
|
53
|
+
close(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Reads bounded native pages with complete scope and view predicates.
|
|
56
|
+
*
|
|
57
|
+
* @param agentKey Canonical Agent key.
|
|
58
|
+
* @param request View and response bounds.
|
|
59
|
+
* @param after Exclusive encoded order key.
|
|
60
|
+
* @param limit Maximum native rows for this chunk.
|
|
61
|
+
* @returns Complete original stored records.
|
|
62
|
+
*/
|
|
63
|
+
private fetch;
|
|
64
|
+
/**
|
|
65
|
+
* Adds one indexed category or conversation predicate.
|
|
66
|
+
*
|
|
67
|
+
* @param request Selected history view.
|
|
68
|
+
* @param filters Mutable native Datastore filters.
|
|
69
|
+
*/
|
|
70
|
+
private viewPredicate;
|
|
71
|
+
/**
|
|
72
|
+
* Rejects a digest collision rather than exposing another repository's row.
|
|
73
|
+
*
|
|
74
|
+
* @param record Decoded original storage envelope.
|
|
75
|
+
* @param agentKey Complete requested Agent key.
|
|
76
|
+
* @param request Selected view and conversation.
|
|
77
|
+
* @returns Record after its complete scope is checked.
|
|
78
|
+
*/
|
|
79
|
+
private assertScope;
|
|
80
|
+
/**
|
|
81
|
+
* Validates view identity and complete-key continuation category.
|
|
82
|
+
*
|
|
83
|
+
* @param request View and continuation key.
|
|
84
|
+
*/
|
|
85
|
+
private validateView;
|
|
86
|
+
/**
|
|
87
|
+
* Converts a typed Agent ID to its canonical key.
|
|
88
|
+
*
|
|
89
|
+
* @param id Typed Agent identifier.
|
|
90
|
+
* @returns Canonical storage key.
|
|
91
|
+
*/
|
|
92
|
+
private key;
|
|
93
|
+
/**
|
|
94
|
+
|
|
95
|
+
* Rejects calls after this handle closes.
|
|
96
|
+
|
|
97
|
+
*/
|
|
98
|
+
private requireOpen;
|
|
99
|
+
/**
|
|
100
|
+
* Compares complete stored Proto bytes for immutable repeats.
|
|
101
|
+
*
|
|
102
|
+
* @param left Existing complete storage record.
|
|
103
|
+
* @param right Requested complete storage record.
|
|
104
|
+
* @returns Whether both records have identical serialized bytes.
|
|
105
|
+
*/
|
|
106
|
+
private sameRecord;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=agent-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-history.d.ts","sourceRoot":"","sources":["../../src/datastore/agent-history.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6EAA6E,CAAC;AACtH,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,sBAAsB,EAGvB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;;OAKG;iBACU,MAAM,GAAG,MAAM;CAG7B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,qBAAqB,CAAC,EAAE,CAAE,YAAW,mBAAmB,CAAC,EAAE,CAAC;;IAarE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B;;;;;OAKG;gBAEgB,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC,EACnC,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAG9E;;;;;;OAMG;IACG,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWpE;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;;;;;OAQG;YACW,KAAK;IA+BnB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAMX;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;CAKnB"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, CodeMatters. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
|
|
5
|
+
* in compliance with the License. You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
10
|
+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
11
|
+
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
|
+
* the License.
|
|
13
|
+
*/
|
|
14
|
+
import { createHash } from "node:crypto";
|
|
15
|
+
import { toBinary } from "@bufbuild/protobuf";
|
|
16
|
+
import { AgentHistoryRecordSchema } from "@spine-event-engine/proto/generated/spine/server/agent/history_record_pb.js";
|
|
17
|
+
import { AgentHistoryKeys, AgentHistoryPages, } from "@spine-event-engine/storage/provider";
|
|
18
|
+
import { AgentHistoryRecords } from "@spine-event-engine/storage/provider";
|
|
19
|
+
import { DatastoreRecordStorage, } from "./record-storage.js";
|
|
20
|
+
/**
|
|
21
|
+
* Hashes complete identities into bounded physical IDs and indexed scope keys.
|
|
22
|
+
*/
|
|
23
|
+
export const AgentHistoryHash = {
|
|
24
|
+
/**
|
|
25
|
+
* Calculates the fixed-width digest of a complete logical identity.
|
|
26
|
+
*
|
|
27
|
+
* @param value Complete logical identity.
|
|
28
|
+
* @returns Full SHA-256 hex digest.
|
|
29
|
+
*/
|
|
30
|
+
value(value) {
|
|
31
|
+
return createHash("sha256").update(value, "utf8").digest("hex");
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Stores Agent history in the shared Datastore immutable record kind.
|
|
36
|
+
*
|
|
37
|
+
* @typeParam Id Typed Agent identifier.
|
|
38
|
+
*/
|
|
39
|
+
export class DatastoreAgentHistory {
|
|
40
|
+
input;
|
|
41
|
+
records;
|
|
42
|
+
/**
|
|
43
|
+
* Records whether this handle accepts calls.
|
|
44
|
+
*/
|
|
45
|
+
#open = true;
|
|
46
|
+
/**
|
|
47
|
+
* Binds one typed Agent repository to the provider record handle.
|
|
48
|
+
*
|
|
49
|
+
* @param input Repository and complete tenant scope.
|
|
50
|
+
* @param records Native record-family storage.
|
|
51
|
+
*/
|
|
52
|
+
constructor(input, records) {
|
|
53
|
+
this.input = input;
|
|
54
|
+
this.records = records;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Writes one original entry or confirms byte-identical content.
|
|
58
|
+
*
|
|
59
|
+
* @param entityId Typed Agent identifier.
|
|
60
|
+
* @param entry Complete history entry.
|
|
61
|
+
* @returns Completion after immutable storage confirms the entry.
|
|
62
|
+
*/
|
|
63
|
+
async append(entityId, entry) {
|
|
64
|
+
this.requireOpen();
|
|
65
|
+
if (AgentHistoryKeys.indexValue(AgentHistoryKeys.fromEntry(entry)).length > 1500)
|
|
66
|
+
throw new RangeError("Agent history ordering key exceeds the Datastore indexed-value limit.");
|
|
67
|
+
const record = AgentHistoryRecords.record(this.input.stateType, this.key(entityId), entry);
|
|
68
|
+
const id = AgentHistoryHash.value(AgentHistoryRecords.slot(record));
|
|
69
|
+
if (await this.records.compareAndSet(id, undefined, record))
|
|
70
|
+
return;
|
|
71
|
+
const stored = await this.records.read(id);
|
|
72
|
+
if (stored !== undefined && this.sameRecord(stored, record))
|
|
73
|
+
return;
|
|
74
|
+
throw new Error("Datastore Agent history record ID conflicts with immutable content.");
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Reads a bounded indexed page in full Timestamp/category/UTF-8 order.
|
|
78
|
+
*
|
|
79
|
+
* @param request Typed Agent, view, continuation, and response limits.
|
|
80
|
+
* @returns Original entries and continuation status.
|
|
81
|
+
*/
|
|
82
|
+
async read(request) {
|
|
83
|
+
this.requireOpen();
|
|
84
|
+
const agentKey = this.key(request.entityId);
|
|
85
|
+
const after = request.after === undefined ? undefined : AgentHistoryKeys.indexValue(request.after);
|
|
86
|
+
this.validateView(request);
|
|
87
|
+
return AgentHistoryPages.read(request, after, (cursor, limit) => this.fetch(agentKey, request, cursor, limit));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
|
|
91
|
+
* Closes this handle without deleting stored records.
|
|
92
|
+
|
|
93
|
+
*/
|
|
94
|
+
close() {
|
|
95
|
+
if (!this.#open)
|
|
96
|
+
return;
|
|
97
|
+
this.#open = false;
|
|
98
|
+
this.records.close();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Reads bounded native pages with complete scope and view predicates.
|
|
102
|
+
*
|
|
103
|
+
* @param agentKey Canonical Agent key.
|
|
104
|
+
* @param request View and response bounds.
|
|
105
|
+
* @param after Exclusive encoded order key.
|
|
106
|
+
* @param limit Maximum native rows for this chunk.
|
|
107
|
+
* @returns Complete original stored records.
|
|
108
|
+
*/
|
|
109
|
+
async fetch(agentKey, request, after, limit) {
|
|
110
|
+
const filters = [
|
|
111
|
+
{
|
|
112
|
+
property: "scope_digest",
|
|
113
|
+
operator: "=",
|
|
114
|
+
value: AgentHistoryHash.value(AgentHistoryRecords.scope(this.input.stateType, agentKey)),
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
this.viewPredicate(request, filters);
|
|
118
|
+
if (after !== undefined)
|
|
119
|
+
filters.push({ property: "order_key", operator: ">", value: after });
|
|
120
|
+
const result = [];
|
|
121
|
+
let cursor;
|
|
122
|
+
do {
|
|
123
|
+
const page = await this.records.queryProviderPage({
|
|
124
|
+
filters,
|
|
125
|
+
order: [{ property: "order_key", direction: "asc" }],
|
|
126
|
+
limit: limit - result.length,
|
|
127
|
+
...(cursor === undefined ? {} : { cursor }),
|
|
128
|
+
});
|
|
129
|
+
result.push(...page.entries.map(({ record }) => this.assertScope(record, agentKey, request)));
|
|
130
|
+
cursor = page.cursor;
|
|
131
|
+
if (!page.hasMore)
|
|
132
|
+
break;
|
|
133
|
+
} while (result.length < limit && cursor !== undefined);
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Adds one indexed category or conversation predicate.
|
|
138
|
+
*
|
|
139
|
+
* @param request Selected history view.
|
|
140
|
+
* @param filters Mutable native Datastore filters.
|
|
141
|
+
*/
|
|
142
|
+
viewPredicate(request, filters) {
|
|
143
|
+
if (request.view.kind === "full")
|
|
144
|
+
return;
|
|
145
|
+
if (request.view.kind === "conversation") {
|
|
146
|
+
const conversation = request.view.conversation.value;
|
|
147
|
+
filters.push({
|
|
148
|
+
property: "conversation_digest",
|
|
149
|
+
operator: "=",
|
|
150
|
+
value: AgentHistoryHash.value(conversation),
|
|
151
|
+
});
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
filters.push({ property: "category", operator: "=", value: request.view.kind });
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Rejects a digest collision rather than exposing another repository's row.
|
|
158
|
+
*
|
|
159
|
+
* @param record Decoded original storage envelope.
|
|
160
|
+
* @param agentKey Complete requested Agent key.
|
|
161
|
+
* @param request Selected view and conversation.
|
|
162
|
+
* @returns Record after its complete scope is checked.
|
|
163
|
+
*/
|
|
164
|
+
assertScope(record, agentKey, request) {
|
|
165
|
+
if (record.scope?.stateType !== this.input.stateType || record.scope.agentKey !== agentKey)
|
|
166
|
+
throw new Error("Datastore Agent history scope digest collides.");
|
|
167
|
+
if (request.view.kind === "conversation" &&
|
|
168
|
+
(record.entry?.item.case !== "conversationRecord" ||
|
|
169
|
+
record.entry.item.value.conversation?.value !== request.view.conversation.value))
|
|
170
|
+
throw new Error("Datastore Agent history conversation digest collides.");
|
|
171
|
+
return record;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validates view identity and complete-key continuation category.
|
|
175
|
+
*
|
|
176
|
+
* @param request View and continuation key.
|
|
177
|
+
*/
|
|
178
|
+
validateView(request) {
|
|
179
|
+
const kind = request.view.kind;
|
|
180
|
+
if (kind === "conversation" && request.view.conversation.value.length === 0)
|
|
181
|
+
throw new TypeError("Conversation history requires a ConversationId.");
|
|
182
|
+
if (request.after !== undefined && kind !== "full" && request.after.category !== kind)
|
|
183
|
+
throw new TypeError("Agent history boundary category does not match the view.");
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Converts a typed Agent ID to its canonical key.
|
|
187
|
+
*
|
|
188
|
+
* @param id Typed Agent identifier.
|
|
189
|
+
* @returns Canonical storage key.
|
|
190
|
+
*/
|
|
191
|
+
key(id) {
|
|
192
|
+
const key = this.input.id.key(id);
|
|
193
|
+
if (key.length === 0)
|
|
194
|
+
throw new TypeError("Agent history Entity ID is required.");
|
|
195
|
+
return key;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
|
|
199
|
+
* Rejects calls after this handle closes.
|
|
200
|
+
|
|
201
|
+
*/
|
|
202
|
+
requireOpen() {
|
|
203
|
+
if (!this.#open)
|
|
204
|
+
throw new Error("Agent history storage handle is closed.");
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Compares complete stored Proto bytes for immutable repeats.
|
|
208
|
+
*
|
|
209
|
+
* @param left Existing complete storage record.
|
|
210
|
+
* @param right Requested complete storage record.
|
|
211
|
+
* @returns Whether both records have identical serialized bytes.
|
|
212
|
+
*/
|
|
213
|
+
sameRecord(left, right) {
|
|
214
|
+
const first = toBinary(AgentHistoryRecordSchema, left);
|
|
215
|
+
const second = toBinary(AgentHistoryRecordSchema, right);
|
|
216
|
+
return first.length === second.length && first.every((byte, index) => byte === second[index]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=agent-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-history.js","sourceRoot":"","sources":["../../src/datastore/agent-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6EAA6E,CAAC;AAGvH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAKlB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EACL,sBAAsB,GAGvB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,KAAa;QACjB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAab;IACA;IAbnB;;OAEG;IACH,KAAK,GAAG,IAAI,CAAC;IAEb;;;;;OAKG;IACH,YACmB,KAAmC,EACnC,OAA2D;QAD3D,UAAK,GAAL,KAAK,CAA8B;QACnC,YAAO,GAAP,OAAO,CAAoD;IAC3E,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,QAAY,EAAE,KAAwB;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;YAC9E,MAAM,IAAI,UAAU,CAAC,uEAAuE,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC;YAAE,OAAO;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;YAAE,OAAO;QACpE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC9D,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,KAAK,CACjB,QAAgB,EAChB,OAA6B,EAC7B,KAAyB,EACzB,KAAa;QAEb,MAAM,OAAO,GAA2B;YACtC;gBACE,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACzF;SACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAI,MAAuC,CAAC;QAC5C,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAChD,OAAO;gBACP,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM;gBAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;QAC3B,CAAC,QAAQ,MAAM,CAAC,MAAM,GAAG,KAAK,IAAI,MAAM,KAAK,SAAS,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,OAA6B,EAAE,OAA+B;QAClF,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,qBAAqB;gBAC/B,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CACjB,MAA0B,EAC1B,QAAgB,EAChB,OAA6B;QAE7B,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ;YACxF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IACE,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;YACpC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,oBAAoB;gBAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAElF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,OAA6B;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACzE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI;YACnF,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACK,GAAG,CAAC,EAAM;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAClF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,IAAwB,EAAE,KAAyB;QACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,CAAC;CACF"}
|
|
@@ -14,6 +14,7 @@ export declare class DatastoreColumnMapping implements ColumnMapping<unknown> {
|
|
|
14
14
|
/**
|
|
15
15
|
* Returns the conversion for one generated column type.
|
|
16
16
|
*
|
|
17
|
+
* @typeParam V The Protobuf value type described by the column.
|
|
17
18
|
* @param type The generated Protobuf column type.
|
|
18
19
|
* @returns The JVM-compatible Datastore conversion.
|
|
19
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapping.d.ts","sourceRoot":"","sources":["../../src/datastore/column-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAKrC;;GAEG;AACH,qBAAa,sBAAuB,YAAW,aAAa,CAAC,OAAO,CAAC;;IAGnE;;;;OAIG;gBACS,YAAY,GAAE,mBAA+C;IAIzE
|
|
1
|
+
{"version":3,"file":"column-mapping.d.ts","sourceRoot":"","sources":["../../src/datastore/column-mapping.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAKrC;;GAEG;AACH,qBAAa,sBAAuB,YAAW,aAAa,CAAC,OAAO,CAAC;;IAGnE;;;;OAIG;gBACS,YAAY,GAAE,mBAA+C;IAIzE;;;;;;OAMG;IACH,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC;IAkB/D;;;;OAIG;IACH,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;CAG3C"}
|
|
@@ -32,6 +32,7 @@ export class DatastoreColumnMapping {
|
|
|
32
32
|
/**
|
|
33
33
|
* Returns the conversion for one generated column type.
|
|
34
34
|
*
|
|
35
|
+
* @typeParam V The Protobuf value type described by the column.
|
|
35
36
|
* @param type The generated Protobuf column type.
|
|
36
37
|
* @returns The JVM-compatible Datastore conversion.
|
|
37
38
|
*/
|
|
@@ -61,6 +62,13 @@ export class DatastoreColumnMapping {
|
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
const DatastoreMappings = Object.freeze({
|
|
65
|
+
/**
|
|
66
|
+
* Returns the native Datastore representation of a Protobuf scalar.
|
|
67
|
+
*
|
|
68
|
+
* @typeParam V The scalar value type accepted by the returned conversion.
|
|
69
|
+
* @param type The Protobuf scalar kind and width.
|
|
70
|
+
* @returns A conversion that preserves the scalar's range and native Datastore type.
|
|
71
|
+
*/
|
|
64
72
|
scalar(type) {
|
|
65
73
|
switch (type) {
|
|
66
74
|
case ScalarType.STRING:
|
|
@@ -87,6 +95,13 @@ const DatastoreMappings = Object.freeze({
|
|
|
87
95
|
return (value) => Buffer.from(value);
|
|
88
96
|
}
|
|
89
97
|
},
|
|
98
|
+
/**
|
|
99
|
+
* Converts a signed integer column after enforcing its declared width.
|
|
100
|
+
*
|
|
101
|
+
* @param value The bigint, safe number, or decimal string to convert.
|
|
102
|
+
* @param bits The declared 32-bit or 64-bit signed width.
|
|
103
|
+
* @returns Canonical decimal text accepted by Datastore.int.
|
|
104
|
+
*/
|
|
90
105
|
signed(value, bits) {
|
|
91
106
|
const integer = this.integer(value);
|
|
92
107
|
const limit = 1n << BigInt(bits - 1);
|
|
@@ -94,6 +109,13 @@ const DatastoreMappings = Object.freeze({
|
|
|
94
109
|
throw new Error(`Datastore signed ${String(bits)}-bit column is outside its range.`);
|
|
95
110
|
return integer.toString();
|
|
96
111
|
},
|
|
112
|
+
/**
|
|
113
|
+
* Converts an unsigned integer within Datastore's signed provider range.
|
|
114
|
+
*
|
|
115
|
+
* @param value The bigint, safe number, or decimal string to convert.
|
|
116
|
+
* @param bits The declared 32-bit or 64-bit unsigned width.
|
|
117
|
+
* @returns Canonical decimal text accepted by Datastore.int.
|
|
118
|
+
*/
|
|
97
119
|
unsigned(value, bits) {
|
|
98
120
|
const integer = this.integer(value);
|
|
99
121
|
if (integer < 0n || integer >= 1n << BigInt(bits))
|
|
@@ -102,6 +124,12 @@ const DatastoreMappings = Object.freeze({
|
|
|
102
124
|
throw new Error("Datastore integer columns cannot exceed the signed 64-bit provider range.");
|
|
103
125
|
return integer.toString();
|
|
104
126
|
},
|
|
127
|
+
/**
|
|
128
|
+
* Parses an integer column without accepting fractional or unsafe numbers.
|
|
129
|
+
*
|
|
130
|
+
* @param value The bigint, safe number, or canonical decimal string to parse.
|
|
131
|
+
* @returns The exact integer value.
|
|
132
|
+
*/
|
|
105
133
|
integer(value) {
|
|
106
134
|
if (typeof value === "bigint")
|
|
107
135
|
return value;
|
|
@@ -111,6 +139,12 @@ const DatastoreMappings = Object.freeze({
|
|
|
111
139
|
return BigInt(value);
|
|
112
140
|
throw new Error("Datastore integer column is invalid.");
|
|
113
141
|
},
|
|
142
|
+
/**
|
|
143
|
+
* Wraps Protobuf seconds and nanos for the Datastore SDK's native timestamp column.
|
|
144
|
+
*
|
|
145
|
+
* @param value The Protobuf Timestamp fields to validate and preserve.
|
|
146
|
+
* @returns A Date accepted by the SDK while retaining submillisecond nanos.
|
|
147
|
+
*/
|
|
114
148
|
timestamp(value) {
|
|
115
149
|
const timestamp = value;
|
|
116
150
|
if (typeof timestamp.seconds !== "bigint" ||
|
|
@@ -121,9 +155,18 @@ const DatastoreMappings = Object.freeze({
|
|
|
121
155
|
return new DatastoreTimestamp(timestamp.seconds, timestamp.nanos);
|
|
122
156
|
},
|
|
123
157
|
});
|
|
158
|
+
/**
|
|
159
|
+
* Exposes precise Protobuf timestamp fields through the Datastore SDK's Date API.
|
|
160
|
+
*/
|
|
124
161
|
class DatastoreTimestamp extends Date {
|
|
125
162
|
seconds;
|
|
126
163
|
nanos;
|
|
164
|
+
/**
|
|
165
|
+
* Creates a Datastore Date from exact Protobuf seconds and nanoseconds.
|
|
166
|
+
*
|
|
167
|
+
* @param seconds Whole seconds since the Unix epoch.
|
|
168
|
+
* @param nanos Nanoseconds within that second.
|
|
169
|
+
*/
|
|
127
170
|
constructor(seconds, nanos) {
|
|
128
171
|
super(Number(seconds * 1000n));
|
|
129
172
|
this.seconds = seconds;
|
|
@@ -131,11 +174,26 @@ class DatastoreTimestamp extends Date {
|
|
|
131
174
|
if (!Number.isFinite(super.getTime()))
|
|
132
175
|
throw new Error("Datastore timestamp column is outside the supported range.");
|
|
133
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Returns the whole-second epoch time used by the SDK timestamp encoder.
|
|
179
|
+
*
|
|
180
|
+
* @returns Epoch milliseconds at the start of the stored second.
|
|
181
|
+
*/
|
|
134
182
|
getTime() {
|
|
135
183
|
return Number(this.seconds * 1000n);
|
|
136
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Returns fractional milliseconds adjusted for the SDK's nanos multiplication.
|
|
187
|
+
*
|
|
188
|
+
* @returns Milliseconds whose serialized integer nanos match the source timestamp.
|
|
189
|
+
*/
|
|
137
190
|
getMilliseconds() {
|
|
138
|
-
|
|
191
|
+
const milliseconds = this.nanos / 1_000_000;
|
|
192
|
+
// The Datastore SDK multiplies this value by 1e6. Bias a rounded-down
|
|
193
|
+
// quotient so Protobuf integer normalization retains the original nanos.
|
|
194
|
+
return Math.trunc(milliseconds * 1_000_000) === this.nanos
|
|
195
|
+
? milliseconds
|
|
196
|
+
: milliseconds + milliseconds * Number.EPSILON;
|
|
139
197
|
}
|
|
140
198
|
}
|
|
141
199
|
//# sourceMappingURL=column-mapping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapping.js","sourceRoot":"","sources":["../../src/datastore/column-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAO/D,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAClD,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACxB,aAAa,CAAsB;IAE5C;;;;OAIG;IACH,YAAY,eAAoC,IAAI,mBAAmB,EAAE;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"column-mapping.js","sourceRoot":"","sources":["../../src/datastore/column-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,13 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
119
119
|
readonly data: Record<string, unknown>;
|
|
120
120
|
readonly excludeFromIndexes: readonly string[];
|
|
121
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Returns the exact tenant-scoped native key for a typed record ID.
|
|
124
|
+
*
|
|
125
|
+
* @param id Complete persisted record identity.
|
|
126
|
+
* @returns Native key for the typed record identity.
|
|
127
|
+
*/
|
|
128
|
+
transactionKey(id: I): ReturnType<Datastore["key"]>;
|
|
122
129
|
/**
|
|
123
130
|
* Decodes one entity read by a provider-owned multi-record transaction.
|
|
124
131
|
*
|
|
@@ -147,6 +154,15 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
147
154
|
* @internal
|
|
148
155
|
*/
|
|
149
156
|
queryProviderPage(request: DatastorePageQuery): Promise<DatastorePage<I, R>>;
|
|
157
|
+
/**
|
|
158
|
+
* Reads at most two indexed successor records inside the caller's transaction.
|
|
159
|
+
*
|
|
160
|
+
* @param filters Native indexed query predicates.
|
|
161
|
+
* @param orderProperty Native property containing the complete order key.
|
|
162
|
+
* @param transaction Current native transaction.
|
|
163
|
+
* @returns Earliest scoped rows in native order.
|
|
164
|
+
*/
|
|
165
|
+
queryTransactionSuccessors(transaction: ReturnType<Datastore["transaction"]>, filters: readonly DatastoreRangeFilter[], orderProperty: string): Promise<readonly R[]>;
|
|
150
166
|
/**
|
|
151
167
|
* Deletes a bounded group of provider entries.
|
|
152
168
|
*
|
|
@@ -157,23 +173,27 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
157
173
|
deleteProviderEntries(entries: readonly RecordEntry<I, R>[]): Promise<void>;
|
|
158
174
|
/**
|
|
159
175
|
* Deletes the record at one storage slot.
|
|
176
|
+
*
|
|
160
177
|
* @param id The storage slot identifier.
|
|
161
178
|
* @returns Whether a record was deleted.
|
|
162
179
|
*/
|
|
163
180
|
protected deleteRecord(id: I): Promise<boolean>;
|
|
164
181
|
/**
|
|
165
182
|
* Returns records matching a query.
|
|
183
|
+
*
|
|
166
184
|
* @param _query The record query.
|
|
167
185
|
* @returns The matching storage entries.
|
|
168
186
|
*/
|
|
169
187
|
protected queryRecordEntries(_query: RecordQuery<I>): Promise<readonly RecordEntry<I, R>[]>;
|
|
170
188
|
/**
|
|
171
189
|
* Returns the supported Datastore query capabilities.
|
|
190
|
+
*
|
|
172
191
|
* @returns The supported query capabilities.
|
|
173
192
|
*/
|
|
174
193
|
protected queryCapabilities(): StorageQueryCapabilities;
|
|
175
194
|
/**
|
|
176
195
|
* Returns candidate records for a normalized query plan.
|
|
196
|
+
*
|
|
177
197
|
* @param plan The normalized query plan.
|
|
178
198
|
* @returns The candidate storage entries.
|
|
179
199
|
*/
|
|
@@ -210,12 +230,14 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
210
230
|
private planQuery;
|
|
211
231
|
/**
|
|
212
232
|
* Reads the record at one storage slot.
|
|
233
|
+
*
|
|
213
234
|
* @param id The storage slot identifier.
|
|
214
235
|
* @returns The stored record, if present.
|
|
215
236
|
*/
|
|
216
237
|
protected readRecord(id: I): Promise<R | undefined>;
|
|
217
238
|
/**
|
|
218
239
|
* Compares and conditionally replaces the record at one storage slot.
|
|
240
|
+
*
|
|
219
241
|
* @param id The storage slot identifier.
|
|
220
242
|
* @param expected The expected materialized record.
|
|
221
243
|
* @param next The replacement materialized record, if any.
|
|
@@ -233,12 +255,14 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
233
255
|
private attemptCompareAndSet;
|
|
234
256
|
/**
|
|
235
257
|
* Writes materialized records.
|
|
258
|
+
*
|
|
236
259
|
* @param records The materialized records to write.
|
|
237
260
|
* @returns Completes when the records are written.
|
|
238
261
|
*/
|
|
239
262
|
protected writeAllRecords(records: readonly ReturnType<RecordSpec<I, R>["materialize"]>[]): Promise<void>;
|
|
240
263
|
/**
|
|
241
264
|
* Writes one materialized record.
|
|
265
|
+
*
|
|
242
266
|
* @param record The materialized record to write.
|
|
243
267
|
* @returns Completes when the record is written.
|
|
244
268
|
*/
|