@oscharko-dev/keiko-memory-capture 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/_constants.d.ts +2 -0
  3. package/dist/_constants.d.ts.map +1 -0
  4. package/dist/_constants.js +6 -0
  5. package/dist/_envelopes.d.ts +30 -0
  6. package/dist/_envelopes.d.ts.map +1 -0
  7. package/dist/_envelopes.js +67 -0
  8. package/dist/capture-safety.d.ts +4 -0
  9. package/dist/capture-safety.d.ts.map +1 -0
  10. package/dist/capture-safety.js +17 -0
  11. package/dist/capture.d.ts +4 -0
  12. package/dist/capture.d.ts.map +1 -0
  13. package/dist/capture.js +66 -0
  14. package/dist/errors.d.ts +6 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +18 -0
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +14 -0
  20. package/dist/intent-ambient.d.ts +3 -0
  21. package/dist/intent-ambient.d.ts.map +1 -0
  22. package/dist/intent-ambient.js +112 -0
  23. package/dist/intent-explicit.d.ts +6 -0
  24. package/dist/intent-explicit.d.ts.map +1 -0
  25. package/dist/intent-explicit.js +204 -0
  26. package/dist/intent-workflow.d.ts +3 -0
  27. package/dist/intent-workflow.d.ts.map +1 -0
  28. package/dist/intent-workflow.js +69 -0
  29. package/dist/policy.d.ts +12 -0
  30. package/dist/policy.d.ts.map +1 -0
  31. package/dist/policy.js +43 -0
  32. package/dist/salience.d.ts +13 -0
  33. package/dist/salience.d.ts.map +1 -0
  34. package/dist/salience.js +268 -0
  35. package/dist/scope-inference.d.ts +9 -0
  36. package/dist/scope-inference.d.ts.map +1 -0
  37. package/dist/scope-inference.js +45 -0
  38. package/dist/secret-patterns.d.ts +3 -0
  39. package/dist/secret-patterns.d.ts.map +1 -0
  40. package/dist/secret-patterns.js +124 -0
  41. package/dist/types.d.ts +61 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +6 -0
  44. package/dist/version.d.ts +2 -0
  45. package/dist/version.d.ts.map +1 -0
  46. package/dist/version.js +1 -0
  47. package/package.json +31 -0
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/_constants.ts","../../keiko-contracts/dist/memory.d.ts","../../keiko-contracts/dist/memory-records.d.ts","../../keiko-contracts/dist/memory-operations.d.ts","../../keiko-contracts/dist/memory-validation.d.ts","../../keiko-contracts/dist/memory-operations-validation.d.ts","../../keiko-contracts/dist/memory-retrieval-validation.d.ts","../../keiko-contracts/dist/memory-audit-validation.d.ts","../../keiko-contracts/dist/memory-audit-events.d.ts","../../keiko-contracts/dist/memory-record-validation.d.ts","../../keiko-contracts/dist/memory-barrel.d.ts","../src/errors.ts","../src/types.ts","../src/_envelopes.ts","../src/policy.ts","../src/secret-patterns.ts","../src/capture-safety.ts","../src/intent-ambient.ts","../src/scope-inference.ts","../src/intent-explicit.ts","../src/intent-workflow.ts","../src/capture.ts","../src/version.ts","../src/salience.ts","../src/index.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[88,149,150,152,160,164,167,169,170,171,183],[88,151,152,160,164,167,169,170,171,183],[152,160,164,167,169,170,171,183],[88,152,160,164,167,169,170,171,183,192],[88,152,153,158,160,163,164,167,169,170,171,173,183,188,201],[88,152,153,154,160,163,164,167,169,170,171,183],[88,152,160,164,167,169,170,171,183],[88,152,155,160,164,167,169,170,171,183,202],[88,152,156,157,160,164,167,169,170,171,174,183],[88,152,157,160,164,167,169,170,171,183,188,198],[88,152,158,160,163,164,167,169,170,171,173,183],[88,151,152,159,160,164,167,169,170,171,183],[88,152,160,161,164,167,169,170,171,183],[88,152,160,162,163,164,167,169,170,171,183],[88,151,152,160,163,164,167,169,170,171,183],[88,152,160,163,164,165,167,169,170,171,183,188,201],[88,152,160,163,164,165,167,169,170,171,183,188,190,192],[88,139,152,160,163,164,166,167,169,170,171,173,183,188,201],[88,152,160,163,164,166,167,169,170,171,173,183,188,198,201],[88,152,160,164,166,167,168,169,170,171,183,188,198,201],[86,87,88,89,90,91,92,93,94,95,96,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209],[88,152,160,163,164,167,169,170,171,183],[88,152,160,164,167,169,171,183],[88,152,160,164,167,169,170,171,172,183,201],[88,152,160,163,164,167,169,170,171,173,183,188],[88,152,160,164,167,169,170,171,174,183],[88,152,160,164,167,169,170,171,175,183],[88,152,160,163,164,167,169,170,171,178,183],[88,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],[88,152,160,164,167,169,170,171,180,183],[88,152,160,164,167,169,170,171,181,183],[88,152,157,160,164,167,169,170,171,173,183,192],[88,152,160,163,164,167,169,170,171,183,184],[88,152,160,164,167,169,170,171,183,185,202,205],[88,152,160,163,164,167,169,170,171,183,188,191,192],[88,152,160,164,167,169,170,171,183,189,192],[88,152,160,164,167,169,170,171,183,190],[88,152,160,164,167,169,170,171,183,192,202],[88,152,160,164,167,169,170,171,183,193],[88,149,152,160,164,167,169,170,171,183,188,195,201],[88,152,160,164,167,169,170,171,183,188,194],[88,152,160,163,164,167,169,170,171,183,196,197],[88,152,160,164,167,169,170,171,183,196,197],[88,152,157,160,164,167,169,170,171,173,183,188,198],[88,152,160,164,167,169,170,171,183,199],[88,152,160,164,167,169,170,171,173,183,200],[88,152,160,164,166,167,169,170,171,181,183,201],[88,152,160,164,167,169,170,171,183,202,203],[88,152,157,160,164,167,169,170,171,183,203],[88,152,160,164,167,169,170,171,183,188,204],[88,152,160,164,167,169,170,171,172,183,205],[88,152,160,164,167,169,170,171,183,206],[88,152,155,160,164,167,169,170,171,183],[88,152,157,160,164,167,169,170,171,183],[88,152,160,164,167,169,170,171,183,202],[88,139,152,160,164,167,169,170,171,183],[88,152,160,164,167,169,170,171,183,201],[88,152,160,164,167,169,170,171,183,207],[88,152,160,164,167,169,170,171,178,183],[88,152,160,164,167,169,170,171,183,197],[88,139,152,160,163,164,165,167,169,170,171,178,183,188,192,201,204,205,207],[88,152,160,164,167,169,170,171,183,188,208],[88,152,160,164,167,169,170,171,183,190,209],[88,103,106,109,110,152,160,164,167,169,170,171,183,201],[88,106,152,160,164,167,169,170,171,183,188,201],[88,106,110,152,160,164,167,169,170,171,183,201],[88,152,160,164,167,169,170,171,183,188],[88,100,152,160,164,167,169,170,171,183],[88,104,152,160,164,167,169,170,171,183],[88,102,103,106,152,160,164,167,169,170,171,183,201],[88,152,160,164,167,169,170,171,173,183,198],[88,152,160,164,167,169,170,171,183,210],[88,100,152,160,164,167,169,170,171,183,210],[88,102,106,152,160,164,167,169,170,171,173,183,201],[88,97,98,99,101,105,152,160,163,164,167,169,170,171,183,188,201],[88,106,115,123,152,160,164,167,169,170,171,183],[88,98,104,152,160,164,167,169,170,171,183],[88,106,133,134,152,160,164,167,169,170,171,183],[88,98,101,106,152,160,164,167,169,170,171,183,192,201,210],[88,106,152,160,164,167,169,170,171,183],[88,102,106,152,160,164,167,169,170,171,183,201],[88,97,152,160,164,167,169,170,171,183],[88,100,101,102,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,152,160,164,167,169,170,171,183],[88,106,126,129,152,160,164,167,169,170,171,183],[88,106,115,116,117,152,160,164,167,169,170,171,183],[88,104,106,116,118,152,160,164,167,169,170,171,183],[88,105,152,160,164,167,169,170,171,183],[88,98,100,106,152,160,164,167,169,170,171,183],[88,106,110,116,118,152,160,164,167,169,170,171,183],[88,110,152,160,164,167,169,170,171,183],[88,104,106,109,152,160,164,167,169,170,171,183,201],[88,98,102,106,115,152,160,164,167,169,170,171,183],[88,106,126,152,160,164,167,169,170,171,183],[88,118,152,160,164,167,169,170,171,183],[88,98,102,106,110,152,160,164,167,169,170,171,183],[88,100,106,133,152,160,164,167,169,170,171,183,192,207,210],[71,88,152,160,164,167,169,170,171,183],[64,65,88,152,160,164,167,169,170,171,183],[62,63,64,65,66,67,68,69,70,88,152,160,164,167,169,170,171,183],[62,63,88,152,160,164,167,169,170,171,183],[62,63,65,88,152,160,164,167,169,170,171,183],[62,88,152,160,164,167,169,170,171,183],[62,64,65,88,152,160,164,167,169,170,171,183],[71,73,88,152,160,164,167,169,170,171,183],[72,73,75,76,88,152,160,164,167,169,170,171,183],[61,73,78,80,81,88,152,160,164,167,169,170,171,183],[72,73,77,82,83,84,88,152,160,164,167,169,170,171,183],[71,73,74,75,76,88,152,160,164,167,169,170,171,183],[71,73,74,75,76,79,88,152,160,164,167,169,170,171,183],[61,71,73,74,75,76,79,88,152,160,164,167,169,170,171,183],[72,88,152,160,164,167,169,170,171,183],[71,72,88,152,160,164,167,169,170,171,183]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"76543844c514bec2bc6a2c0adb3a5b979597e103f69778e753583554396afa16","signature":"aebf344a89763a9700acf41d0f19367042a64f50f4bae64fdf7447d70e3552a4","impliedFormat":99},{"version":"cfacb6c5b29f3c8f81194ca5c6c1d5a87108a2ec1df233f974b279a58b3c15e3","impliedFormat":99},{"version":"170837accdba3f0567fe1c6fb278ce3949317bb5404a26f7cc5648181f421add","impliedFormat":99},{"version":"1d794adbdc230d523976786d1257203e483115edf3a2ea704fa7024e040b4dc4","impliedFormat":99},{"version":"ad8891163f0b0902e2a8b87bb63e8c5a99e2f96237e511c21abd4b642049f51d","impliedFormat":99},{"version":"99e1bcef17ff12ae645785c60b2885d3186ae8ce397c9779bbca7594aa30086e","impliedFormat":99},{"version":"ea8ae4e64942c8587f53535dedc63b29fba78db899694d8d0ec3c6a275cc33a5","impliedFormat":99},{"version":"3ddf59fa92042ab494e3f65a7f62fb9aebf97b2b69680166c95d9ce25a4e072d","impliedFormat":99},{"version":"ff6c36564ed2bdc2cbb4bae471d055c56ae6e42b8c8f976543a31bc65c103c7a","impliedFormat":99},{"version":"cc45394ddbef9f6dc1d8a674f430159356517b380c88858bc90775d895d8c397","impliedFormat":99},{"version":"d85cbbb8501835920b144c9f46389a298e22918e3b49cfa6cb72f69f44c3cd45","impliedFormat":99},{"version":"0182ba3a77ec6466d5e5362161d778aac2ada2d246e2e54743be0e58f081b1df","signature":"aab25a48e4b654e1882c3cf1dcc64351b3cb9dc664dd4c375922d4a9c0649cf2","impliedFormat":99},{"version":"67d377759d02781b1e26970e73e2134a26d6c864968861ce70f29d8fd996c468","signature":"dd4b5d18753da94c99fb4193e0501f84116dac119406aeeaa6029868f097db1e","impliedFormat":99},{"version":"a529d0262e03f4a36637fd8c688d916e33683b7df230b79b12a90819daf8edea","signature":"de53b901ac49402ffa9840267cdf511a1f4a5fa3c4684a2fc2bcf377346ce937","impliedFormat":99},{"version":"d522f25814fd3c2ae00720d210ff18b06a6ead1655fee2f3342aef362edaadca","signature":"3351e9723254d382fd89aaf3da9de68aea73181c18a0732e5514d3552839642f","impliedFormat":99},{"version":"3884569812f33225482fc7d1b247efe36f427e86f50eae5e1e440a7631f4a69b","signature":"0bae52f3e334acbd627b258729b81f575364ad718b8a7c31ff626cb5391b5b2d","impliedFormat":99},{"version":"1d6fe7bd135cd7783a2ac5c96fde4a71aa44d2ee7055c4632536337c64a720df","signature":"f5d36866f4290a39a7d1013f2d984f0d9e9b64706715b13fabe873079f8bdfba","impliedFormat":99},{"version":"353d150f56701afbf7ee5b03314f771dcb857aa9ea45f71fbe5913bb9e99be01","signature":"1199e2cdfd6906449c382d403b43d4d87bab14fc1d7df14657fde327fc210af1","impliedFormat":99},{"version":"b7884b13a588ff81e63e98cb430911661a5599b74c74313937f97e12b02436fa","signature":"0c9d7d5020a38258e419ffa2551585dcbd3f343ade0baa8aa487419699cdcb71","impliedFormat":99},{"version":"51b536553e660407275bdae4b6a374afa9ff349be1daeee3889dcb32b2fe7680","signature":"dc49d81103f9af5e4ffe0d61083dff76f466ef42c89715a4fdf49689876b3944","impliedFormat":99},{"version":"f54f717c8986571d7f8725639fa741b98bb7bc3d3c6958bb13007fa22eec2402","signature":"bb1c44efe72e39f0e0e19c1975cee0ceccfa912928f0245e7e2450b5f04ef568","impliedFormat":99},{"version":"352a23f01efc6c756921eadb163bc0356d2db988a7e760da6f3588b8f86cf969","signature":"66b547d50bc6f4872d45866516fda27c19e4e0025764c35009deea6a07bbe035","impliedFormat":99},{"version":"5abeab708f372adce4b0a80f70b38cd90a376652e7fcf21372b64774618e67f3","signature":"b777cd0eb0ba799f071162140244f474072da15ef173c3578b062065618e704d","impliedFormat":99},{"version":"f8e6c3b24208d71242f19f437678c00053c8f0678509cb3abea715528ae2fdf7","signature":"dc04c5e037b8f3fbea6bb8b350dcd1d964fd2b68266524734b74762a89931733","impliedFormat":99},{"version":"41df87dcc0813e6a62d709e4b5544ee4ff21253a0d54e4954c5e282653eeee2d","signature":"8b5f8af725c647d7356e05607c52fde3c25bdbdc2ee22c07ad4bc4a25d125d65","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"719412f054e6ecc35489462c9a21bab0323d173a7d04e55b0ace4b5d86fbeb07","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"3db996ecdee7aabecc5385976cc07eb66216034a273c07b17d1a85292e9bab0c","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"5e66972e83eb4dc7123939bf816e6cbd9ad81af5552db1cab84e6bd9c64d2ecc","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1}],"root":[61,[72,85]],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[149,1],[150,1],[151,2],[88,3],[152,4],[153,5],[154,6],[86,7],[155,8],[156,9],[157,10],[158,11],[159,12],[160,13],[161,13],[162,14],[163,15],[164,16],[165,17],[89,7],[87,7],[166,18],[167,19],[168,20],[210,21],[169,22],[170,23],[171,22],[172,24],[173,25],[174,26],[175,27],[176,27],[177,27],[178,28],[179,29],[180,30],[181,31],[182,32],[183,33],[184,33],[185,34],[186,7],[187,7],[188,35],[189,36],[190,37],[191,35],[192,38],[193,39],[194,40],[195,41],[196,42],[197,43],[198,44],[199,45],[200,46],[201,47],[202,48],[203,49],[204,50],[205,51],[206,52],[90,22],[91,7],[92,53],[93,54],[94,7],[95,55],[96,7],[140,56],[141,57],[142,58],[143,58],[144,59],[145,7],[146,4],[147,60],[148,57],[207,61],[208,62],[209,63],[59,7],[60,7],[10,7],[12,7],[11,7],[2,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[3,7],[21,7],[22,7],[4,7],[23,7],[27,7],[24,7],[25,7],[26,7],[28,7],[29,7],[30,7],[5,7],[31,7],[32,7],[33,7],[34,7],[6,7],[38,7],[35,7],[36,7],[37,7],[39,7],[7,7],[40,7],[45,7],[46,7],[41,7],[42,7],[43,7],[44,7],[8,7],[50,7],[47,7],[48,7],[49,7],[51,7],[9,7],[52,7],[53,7],[54,7],[56,7],[55,7],[57,7],[1,7],[58,7],[115,64],[128,65],[112,66],[129,67],[138,68],[103,69],[104,70],[102,71],[137,72],[132,73],[136,74],[106,75],[125,76],[105,77],[135,78],[100,79],[101,73],[107,80],[108,7],[114,81],[111,80],[98,82],[139,83],[130,84],[118,85],[117,80],[119,86],[122,87],[116,88],[120,89],[133,72],[109,90],[110,91],[123,92],[99,67],[127,93],[126,80],[113,91],[121,94],[124,95],[131,7],[97,7],[134,96],[69,97],[68,98],[71,99],[66,98],[64,100],[70,101],[63,102],[67,103],[65,100],[62,7],[61,7],[74,104],[77,105],[82,106],[72,7],[85,107],[78,108],[80,109],[81,109],[75,97],[84,110],[79,104],[76,111],[73,112],[83,7]],"latestChangedDtsFile":"./index.d.ts","version":"6.0.3"}
@@ -0,0 +1,2 @@
1
+ export declare const MEMORY_BODY_MAX_CHARS_DEFAULT = 4096;
2
+ //# sourceMappingURL=_constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_constants.d.ts","sourceRoot":"","sources":["../src/_constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,6BAA6B,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Package-private constants. Underscore-prefixed so the index.ts barrel never re-exports them.
2
+ // Default body-length cap for captured candidates. Aligned with MEMORY_BODY_MAX_CHARS in the
3
+ // contracts package so a candidate that flows through capture into the storage validator does
4
+ // not get re-rejected for the same reason at a different boundary. Callers can override via
5
+ // CapturePolicyOptions.maxBodyChars.
6
+ export const MEMORY_BODY_MAX_CHARS_DEFAULT = 4096;
@@ -0,0 +1,30 @@
1
+ import type { MemoryForget, MemoryId, MemoryProposal, MemoryScope, MemorySensitivity, MemorySourceKind, MemoryType, MemoryUpdate, WorkflowRunId } from "@oscharko-dev/keiko-contracts/memory";
2
+ import type { CaptureContext } from "./types.js";
3
+ interface ProposalBuildInput {
4
+ readonly context: CaptureContext;
5
+ readonly scope: MemoryScope;
6
+ readonly body: string;
7
+ readonly type: MemoryType;
8
+ readonly sensitivity: MemorySensitivity;
9
+ readonly sourceKind: MemorySourceKind;
10
+ readonly captureRationale?: string;
11
+ readonly capturedAt?: number;
12
+ readonly validFrom?: number;
13
+ readonly sourceWorkflowRunId?: WorkflowRunId;
14
+ }
15
+ export declare function buildProposal(input: ProposalBuildInput, confidence: number): MemoryProposal;
16
+ interface ForgetBuildInput {
17
+ readonly context: CaptureContext;
18
+ readonly memoryId: MemoryId;
19
+ readonly reason: string;
20
+ }
21
+ export declare function buildForget(input: ForgetBuildInput): MemoryForget;
22
+ interface UpdateBuildInput {
23
+ readonly context: CaptureContext;
24
+ readonly memoryId: MemoryId;
25
+ readonly bodyPatch: string;
26
+ readonly reviewerNote?: string;
27
+ }
28
+ export declare function buildUpdate(input: UpdateBuildInput): MemoryUpdate;
29
+ export {};
30
+ //# sourceMappingURL=_envelopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_envelopes.d.ts","sourceRoot":"","sources":["../src/_envelopes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,EAEd,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,aAAa,CAAC;CAC9C;AASD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CA4B3F;AAQD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CASjE;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CASjE"}
@@ -0,0 +1,67 @@
1
+ // Internal envelope builders. Each helper takes the resolved scope, the body, and the policy
2
+ // decision and emits the contract envelope with deterministic, redaction-aware defaults.
3
+ //
4
+ // `_` prefix marks this file as package-private — index.ts never re-exports it. Callers stay
5
+ // at the top-level capture API; this module exists to keep envelope-shape decisions in one
6
+ // place so a contract evolution (e.g. a new optional provenance field) is a one-file edit.
7
+ // Builds a MemoryProposal in the canonical "proposed, no expiry, no payload, no tags" shape.
8
+ // Capture deliberately emits a thin envelope: enriching it with payload/tags/validity is a
9
+ // downstream concern that should not introduce capture-time data the user did not say.
10
+ //
11
+ // `confidence` is hard-coded to 1.0 for explicit user intents (the user said it; we trust the
12
+ // signal fully) and 0.6 for workflow-derived candidates. Splitting that choice up to the caller
13
+ // keeps the rule explicit at the call site rather than buried here.
14
+ export function buildProposal(input, confidence) {
15
+ const capturedAt = input.capturedAt ?? input.context.nowMs;
16
+ const validFrom = input.validFrom ?? capturedAt;
17
+ const proposal = {
18
+ schemaVersion: "1",
19
+ proposalId: input.context.newProposalId(),
20
+ proposedAt: input.context.nowMs,
21
+ scope: input.scope,
22
+ type: input.type,
23
+ body: input.body,
24
+ tags: [],
25
+ provenance: {
26
+ sourceKind: input.sourceKind,
27
+ capturedAt,
28
+ confidence,
29
+ sensitivity: input.sensitivity,
30
+ ...(input.captureRationale !== undefined && { captureRationale: input.captureRationale }),
31
+ ...(input.context.conversationId !== undefined && {
32
+ sourceConversationId: input.context.conversationId,
33
+ }),
34
+ ...(input.sourceWorkflowRunId !== undefined && {
35
+ sourceWorkflowRunId: input.sourceWorkflowRunId,
36
+ }),
37
+ },
38
+ validity: { validFrom },
39
+ initialStatus: "proposed",
40
+ };
41
+ return proposal;
42
+ }
43
+ // Reviewer id used for capture-emitted forget/update operations. Capture is the candidate-
44
+ // generator; the actual reviewer (the human accepting the candidate) attaches their id at the
45
+ // acceptance step. Stamping a synthetic capture-side reviewer here keeps the envelope
46
+ // well-formed for the validator without misrepresenting authorship.
47
+ const CAPTURE_REVIEWER_ID = "capture:proposed";
48
+ export function buildForget(input) {
49
+ return {
50
+ schemaVersion: "1",
51
+ memoryId: input.memoryId,
52
+ reviewerId: CAPTURE_REVIEWER_ID,
53
+ forgottenAt: input.context.nowMs,
54
+ reason: input.reason,
55
+ userAcknowledgedDestructive: true,
56
+ };
57
+ }
58
+ export function buildUpdate(input) {
59
+ return {
60
+ schemaVersion: "1",
61
+ memoryId: input.memoryId,
62
+ reviewerId: CAPTURE_REVIEWER_ID,
63
+ updatedAt: input.context.nowMs,
64
+ bodyPatch: input.bodyPatch,
65
+ ...(input.reviewerNote !== undefined && { reviewerNote: input.reviewerNote }),
66
+ };
67
+ }
@@ -0,0 +1,4 @@
1
+ import type { RejectionReason } from "./errors.js";
2
+ import type { CapturePolicyOptions } from "./types.js";
3
+ export declare function memoryTextEgressRejectionReason(text: string, policy?: CapturePolicyOptions): RejectionReason | null;
4
+ //# sourceMappingURL=capture-safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-safety.d.ts","sourceRoot":"","sources":["../src/capture-safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,oBAAyB,GAChC,eAAe,GAAG,IAAI,CAcxB"}
@@ -0,0 +1,17 @@
1
+ import { classifySensitivity } from "./policy.js";
2
+ import { scanForSecrets } from "./secret-patterns.js";
3
+ export function memoryTextEgressRejectionReason(text, policy = {}) {
4
+ const trimmed = text.trim();
5
+ if (trimmed.length === 0) {
6
+ return null;
7
+ }
8
+ const secretReason = scanForSecrets(trimmed, policy.customerIdentifierMatchers ?? []);
9
+ if (secretReason !== null) {
10
+ return secretReason;
11
+ }
12
+ if (policy.defaultSensitivity === "restricted") {
13
+ return "restricted-sensitivity";
14
+ }
15
+ const sensitivity = classifySensitivity(trimmed, policy.defaultSensitivity);
16
+ return sensitivity === "public" ? null : "sensitive-memory-requires-approval";
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { CaptureContext, CaptureOutcome, CapturePolicyOptions, WorkflowOutcomeInput } from "./types.js";
2
+ export declare function extractCandidatesFromUserText(text: string, context: CaptureContext, policy?: CapturePolicyOptions): readonly CaptureOutcome[];
3
+ export declare function extractCandidatesFromWorkflowOutcome(outcome: WorkflowOutcomeInput, context: CaptureContext, policy?: CapturePolicyOptions): readonly CaptureOutcome[];
4
+ //# sourceMappingURL=capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAoCpB,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,SAAS,cAAc,EAAE,CAY3B;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,SAAS,cAAc,EAAE,CAM3B"}
@@ -0,0 +1,66 @@
1
+ // Top-level capture entry points. extractCandidatesFromUserText and
2
+ // extractCandidatesFromWorkflowOutcome are the ONLY surfaces downstream packages should call.
3
+ // Internal extractors are composed here in a fixed priority order so the behaviour is one
4
+ // deterministic function of `(text, context, policy)`.
5
+ //
6
+ // Pre-flight order:
7
+ // 1. Trim and reject empty input -> `empty-content`.
8
+ // 2. Length cap -> `exceeds-length-limit`. The cap is applied BEFORE secret scanning so we do
9
+ // not run the (cheap but unbounded) regex sweep on adversarially-large input.
10
+ // 3. Restricted-default short-circuit: if the caller pinned the policy default to
11
+ // `restricted` the request is rejected directly - applyPolicy throws on this combination,
12
+ // so we catch it explicitly upstream and emit a typed reason instead.
13
+ //
14
+ // Extractor priority:
15
+ // forget > update > correction > remember > ambient identity. The most action-bearing intent
16
+ // wins, and imperative remember/correction paths stay ahead of the narrower ambient fallback.
17
+ import { MEMORY_BODY_MAX_CHARS_DEFAULT } from "./_constants.js";
18
+ import { tryExtractAmbientIdentity } from "./intent-ambient.js";
19
+ import { tryExtractCorrection, tryExtractForget, tryExtractRemember, tryExtractUpdate, } from "./intent-explicit.js";
20
+ import { extractWorkflowOutcomeCandidates } from "./intent-workflow.js";
21
+ // Priority order is intentional: forget > update > correction > remember > ambient identity.
22
+ // The most action-bearing intent wins so "forget about X" is never mis-extracted as a remember.
23
+ const EXTRACTORS = [
24
+ tryExtractForget,
25
+ tryExtractUpdate,
26
+ tryExtractCorrection,
27
+ tryExtractRemember,
28
+ tryExtractAmbientIdentity,
29
+ ];
30
+ // Pre-flight guard: returns a rejection outcome when the input is empty or oversize, otherwise
31
+ // null. Shared by the user-text and workflow-text entry points so both paths enforce the same
32
+ // length and restricted-sensitivity rules before any secret scan runs.
33
+ function preflightText(text, policy) {
34
+ const trimmed = text.trim();
35
+ if (trimmed.length === 0) {
36
+ return { kind: "rejected", reason: "empty-content" };
37
+ }
38
+ const max = policy.maxBodyChars ?? MEMORY_BODY_MAX_CHARS_DEFAULT;
39
+ if (trimmed.length > max) {
40
+ return { kind: "rejected", reason: "exceeds-length-limit" };
41
+ }
42
+ if (policy.defaultSensitivity === "restricted") {
43
+ return { kind: "rejected", reason: "restricted-sensitivity" };
44
+ }
45
+ return null;
46
+ }
47
+ export function extractCandidatesFromUserText(text, context, policy = {}) {
48
+ const preflight = preflightText(text, policy);
49
+ if (preflight !== null) {
50
+ return [preflight];
51
+ }
52
+ for (const extractor of EXTRACTORS) {
53
+ const outcome = extractor(text, context, policy);
54
+ if (outcome !== null) {
55
+ return [outcome];
56
+ }
57
+ }
58
+ return [];
59
+ }
60
+ export function extractCandidatesFromWorkflowOutcome(outcome, context, policy = {}) {
61
+ const preflight = preflightText(outcome.structuredReport, policy);
62
+ if (preflight !== null) {
63
+ return [preflight];
64
+ }
65
+ return extractWorkflowOutcomeCandidates(outcome, context, policy);
66
+ }
@@ -0,0 +1,6 @@
1
+ export type RejectionReason = "credential-shape" | "private-credential-path" | "provider-base-url" | "raw-log-content" | "customer-identifier" | "empty-content" | "exceeds-length-limit" | "ambiguous-forget" | "ambiguous-update" | "restricted-sensitivity" | "sensitive-memory-requires-approval" | "scope-not-resolvable";
2
+ export declare class CaptureRejection extends Error {
3
+ readonly reason: RejectionReason;
4
+ constructor(reason: RejectionReason, message: string);
5
+ }
6
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,yBAAyB,GACzB,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,GACf,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,GAGlB,wBAAwB,GAIxB,oCAAoC,GAIpC,sBAAsB,CAAC;AAK3B,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,MAAM,EAAE,eAAe,CAAC;gBAErB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAK5D"}
package/dist/errors.js ADDED
@@ -0,0 +1,18 @@
1
+ // Typed rejection taxonomy for keiko-memory-capture (Epic #204 child #207).
2
+ //
3
+ // Capture is the PRIMARY secret-rejection boundary; the rejection envelope NEVER carries the
4
+ // matched substring or pattern name, only a typed reason class. Callers can render a user-facing
5
+ // "this looked like a credential" without learning which pattern fired, which keeps the rejection
6
+ // path itself from leaking the candidate's content. The reason taxonomy is a closed string union
7
+ // so a UI surface can branch deterministically on `reason`.
8
+ // A capture-level error thrown only for programmer mistakes (e.g. handing an invalid scope hint
9
+ // to an internal helper). Rejection of user input is data-flow via CaptureOutcome `kind:"rejected"`,
10
+ // NOT exceptions — exceptions reserved for "this code path is unreachable in normal operation".
11
+ export class CaptureRejection extends Error {
12
+ reason;
13
+ constructor(reason, message) {
14
+ super(message);
15
+ this.name = "CaptureRejection";
16
+ this.reason = reason;
17
+ }
18
+ }
@@ -0,0 +1,7 @@
1
+ export { KEIKO_MEMORY_CAPTURE_VERSION } from "./version.js";
2
+ export { CaptureRejection, type RejectionReason } from "./errors.js";
3
+ export type { CaptureContext, CaptureMemoryResolver, CaptureOutcome, CapturePolicyOptions, MemoryScopeKindHint, SalienceDeps, SalienceInput, WorkflowOutcomeInput, } from "./types.js";
4
+ export { extractCandidatesFromUserText, extractCandidatesFromWorkflowOutcome } from "./capture.js";
5
+ export { extractSalientMemories } from "./salience.js";
6
+ export { memoryTextEgressRejectionReason } from "./capture-safety.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ // Public surface of @oscharko-dev/keiko-memory-capture (Epic #204 child #207).
2
+ // Keeping this file the SOLE entry point prevents downstream packages from reaching into
3
+ // private modules (ADR-0019 trust rule 7). The capture layer is the PRIMARY secret-rejection
4
+ // boundary: storage (#206) and audit (#214) treat the body as already-policy-gated.
5
+ export { KEIKO_MEMORY_CAPTURE_VERSION } from "./version.js";
6
+ export { CaptureRejection } from "./errors.js";
7
+ export { extractCandidatesFromUserText, extractCandidatesFromWorkflowOutcome } from "./capture.js";
8
+ export { extractSalientMemories } from "./salience.js";
9
+ export { memoryTextEgressRejectionReason } from "./capture-safety.js";
10
+ // Individual extractors are NOT re-exported: callers must go through the top-level capture
11
+ // surface so the pre-flight (empty / length / restricted-default) and priority order are
12
+ // enforced uniformly. The internal modules (intent-explicit, intent-workflow, policy,
13
+ // secret-patterns, scope-inference, _envelopes, _constants) stay package-private per
14
+ // ADR-0019 trust rule 7.
@@ -0,0 +1,3 @@
1
+ import type { CaptureContext, CaptureOutcome, CapturePolicyOptions } from "./types.js";
2
+ export declare function tryExtractAmbientIdentity(text: string, context: CaptureContext, policy?: CapturePolicyOptions): CaptureOutcome | null;
3
+ //# sourceMappingURL=intent-ambient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-ambient.d.ts","sourceRoot":"","sources":["../src/intent-ambient.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA6GvF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,cAAc,GAAG,IAAI,CAUvB"}
@@ -0,0 +1,112 @@
1
+ // Narrow ambient extractors for natural-chat identity statements.
2
+ //
3
+ // These patterns intentionally cover only high-precision self-identification phrases such as
4
+ // "my name is Paul" or "Hallo Keiko, ich bin Paul". They still emit `proposed` candidates, so
5
+ // governance remains unchanged: nothing is auto-accepted, but common identity facts no longer
6
+ // depend on a model-side salience pass to become reviewable.
7
+ import { buildProposal } from "./_envelopes.js";
8
+ import { applyPolicy } from "./policy.js";
9
+ import { scanForSecrets } from "./secret-patterns.js";
10
+ const IDENTITY_CAPTURE_RATIONALE = "Automatically inferred from conversation (identity statement)";
11
+ const MAX_NAME_TOKENS = 4;
12
+ const NAME_TOKEN_RE = /^\p{L}[\p{L}'’.-]*$/u;
13
+ const TRAILING_PUNCTUATION_RE = /[.!?]+$/u;
14
+ const STRONG_IDENTITY_RE = /^(?:(?:hello|hi|hey|hallo)\s+keiko\s*[,!.\-:]?\s*)?(?:my\s+name\s+is|call\s+me|ich\s+hei(?:ß|ss)e|mein\s+name\s+ist)\s+(.+?)\s*[.!?]*$/iu;
15
+ const WEAK_IDENTITY_RE = /^(?:(?:hello|hi|hey|hallo)\s+keiko\s*[,!.\-:]?\s*)?(?:i\s+am|i(?:'|’)m|ich\s+bin)\s+(.+?)\s*[.!?]*$/iu;
16
+ const DISALLOWED_NAME_TOKENS = new Set([
17
+ "and",
18
+ "are",
19
+ "as",
20
+ "at",
21
+ "aus",
22
+ "based",
23
+ "bin",
24
+ "building",
25
+ "for",
26
+ "from",
27
+ "here",
28
+ "in",
29
+ "ist",
30
+ "mit",
31
+ "on",
32
+ "the",
33
+ "und",
34
+ "using",
35
+ "with",
36
+ "working",
37
+ ]);
38
+ function userScope(context) {
39
+ return { kind: "user", userId: context.userId };
40
+ }
41
+ function normalizeCandidateName(raw) {
42
+ const trimmed = raw.trim().replace(TRAILING_PUNCTUATION_RE, "");
43
+ if (trimmed.length === 0) {
44
+ return null;
45
+ }
46
+ const tokens = trimmed.split(/\s+/u);
47
+ if (tokens.length === 0 || tokens.length > MAX_NAME_TOKENS) {
48
+ return null;
49
+ }
50
+ const normalized = [];
51
+ for (const token of tokens) {
52
+ if (!NAME_TOKEN_RE.test(token)) {
53
+ return null;
54
+ }
55
+ if (DISALLOWED_NAME_TOKENS.has(token.toLowerCase())) {
56
+ return null;
57
+ }
58
+ normalized.push(token);
59
+ }
60
+ return normalized.join(" ");
61
+ }
62
+ function isStrictIdentityName(name) {
63
+ return name.split(/\s+/u).every((token) => /^\p{Lu}/u.test(token));
64
+ }
65
+ function buildIdentityCandidate(name, context, policy) {
66
+ const body = `The user's name is ${name}.`;
67
+ const rejection = scanForSecrets(body, policy.customerIdentifierMatchers ?? []);
68
+ if (rejection !== null) {
69
+ return { kind: "rejected", reason: rejection };
70
+ }
71
+ const decision = applyPolicy(body, {
72
+ ...(policy.defaultSensitivity !== undefined && {
73
+ defaultSensitivity: policy.defaultSensitivity,
74
+ }),
75
+ });
76
+ const proposal = buildProposal({
77
+ context,
78
+ scope: userScope(context),
79
+ body,
80
+ type: "semantic-fact",
81
+ sensitivity: decision.sensitivity,
82
+ sourceKind: "system-default",
83
+ captureRationale: IDENTITY_CAPTURE_RATIONALE,
84
+ }, 0.9);
85
+ return { kind: "candidate", proposal, requiresApproval: decision.requiresApproval };
86
+ }
87
+ function extractIdentityName(text, requireStrictName) {
88
+ const match = (requireStrictName ? WEAK_IDENTITY_RE : STRONG_IDENTITY_RE).exec(text);
89
+ const rawName = match?.[1];
90
+ if (rawName === undefined) {
91
+ return null;
92
+ }
93
+ const name = normalizeCandidateName(rawName);
94
+ if (name === null) {
95
+ return null;
96
+ }
97
+ if (requireStrictName && !isStrictIdentityName(name)) {
98
+ return null;
99
+ }
100
+ return name;
101
+ }
102
+ export function tryExtractAmbientIdentity(text, context, policy = {}) {
103
+ const strongName = extractIdentityName(text, false);
104
+ if (strongName !== null) {
105
+ return buildIdentityCandidate(strongName, context, policy);
106
+ }
107
+ const weakName = extractIdentityName(text, true);
108
+ if (weakName !== null) {
109
+ return buildIdentityCandidate(weakName, context, policy);
110
+ }
111
+ return null;
112
+ }
@@ -0,0 +1,6 @@
1
+ import type { CaptureContext, CaptureOutcome, CapturePolicyOptions } from "./types.js";
2
+ export declare function tryExtractRemember(text: string, context: CaptureContext, policy?: CapturePolicyOptions): CaptureOutcome | null;
3
+ export declare function tryExtractForget(text: string, context: CaptureContext, policy?: CapturePolicyOptions): CaptureOutcome | null;
4
+ export declare function tryExtractUpdate(text: string, context: CaptureContext, policy?: CapturePolicyOptions): CaptureOutcome | null;
5
+ export declare function tryExtractCorrection(text: string, context: CaptureContext, policy?: CapturePolicyOptions): CaptureOutcome | null;
6
+ //# sourceMappingURL=intent-explicit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-explicit.d.ts","sourceRoot":"","sources":["../src/intent-explicit.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAoFvF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,cAAc,GAAG,IAAI,CAgCvB;AAGD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,cAAc,GAAG,IAAI,CAsBvB;AAGD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,cAAc,GAAG,IAAI,CA+BvB;AAuBD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,MAAM,GAAE,oBAAyB,GAChC,cAAc,GAAG,IAAI,CA8BvB"}