libwatchduty 0.1.0__py3-none-any.whl

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 (286) hide show
  1. libwatchduty/__init__.py +9 -0
  2. libwatchduty/__main__.py +5 -0
  3. libwatchduty/aircraft.py +148 -0
  4. libwatchduty/cli.py +1638 -0
  5. libwatchduty/client.py +544 -0
  6. libwatchduty/colors.py +99 -0
  7. libwatchduty/geo_landmarks.py +193 -0
  8. libwatchduty/images.py +198 -0
  9. libwatchduty/install_mapscii.py +73 -0
  10. libwatchduty/location.py +209 -0
  11. libwatchduty/stills.py +184 -0
  12. libwatchduty/tables.py +455 -0
  13. libwatchduty/tui.py +4855 -0
  14. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/.bin/mapscii +6 -0
  15. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/.bin/pbf +19 -0
  16. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/.package-lock.json +258 -0
  17. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/.travis.yml +8 -0
  18. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/HISTORY.md +5 -0
  19. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/LICENSE +13 -0
  20. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/README.md +364 -0
  21. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/index.js +312 -0
  22. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/package.json +33 -0
  23. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/point-geometry/test.js +139 -0
  24. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/.eslintrc +3 -0
  25. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/.travis.yml +7 -0
  26. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/CHANGELOG.md +41 -0
  27. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/LICENSE.txt +28 -0
  28. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/README.md +104 -0
  29. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/fixtures.js +157 -0
  30. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/index.js +3 -0
  31. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/package.json +33 -0
  32. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/proto/vector_tile.proto +88 -0
  33. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/bench.js +36 -0
  34. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/12-1143-1497.vector.pbf +0 -0
  35. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/14-8801-5371.vector.pbf +0 -0
  36. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/lots-of-tags.vector.pbf +0 -0
  37. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/multi-line.pbf +4 -0
  38. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/multi-point.pbf +2 -0
  39. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/multi-polygon.pbf +0 -0
  40. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/multipolygon-with-closepath.pbf +0 -0
  41. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/multipolygon.pbf +0 -0
  42. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/polygon-with-inner.pbf +0 -0
  43. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/singleton-multi-line.pbf +3 -0
  44. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/singleton-multi-point.pbf +2 -0
  45. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/singleton-multi-polygon.pbf +0 -0
  46. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/stacked-multipolygon.pbf +0 -0
  47. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/zero-line.pbf +0 -0
  48. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/zero-point.pbf +0 -0
  49. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/fixtures/zero-polygon.pbf +0 -0
  50. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/@mapbox/vector-tile/test/parse.test.js +225 -0
  51. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ansi-regex/index.d.ts +37 -0
  52. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ansi-regex/index.js +10 -0
  53. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ansi-regex/license +9 -0
  54. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ansi-regex/package.json +55 -0
  55. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ansi-regex/readme.md +78 -0
  56. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/LICENSE +21 -0
  57. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/README.md +57 -0
  58. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/changelog.md +1 -0
  59. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/browser/bluebird.core.js +3914 -0
  60. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/browser/bluebird.core.min.js +31 -0
  61. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/browser/bluebird.js +5778 -0
  62. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/browser/bluebird.min.js +31 -0
  63. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/any.js +21 -0
  64. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/assert.js +55 -0
  65. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/async.js +120 -0
  66. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/bind.js +67 -0
  67. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/bluebird.js +11 -0
  68. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/call_get.js +123 -0
  69. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/cancel.js +129 -0
  70. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/catch_filter.js +42 -0
  71. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/context.js +69 -0
  72. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/debuggability.js +1009 -0
  73. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/direct_resolve.js +46 -0
  74. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/each.js +30 -0
  75. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/errors.js +116 -0
  76. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/es5.js +80 -0
  77. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/filter.js +12 -0
  78. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/finally.js +146 -0
  79. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/generators.js +223 -0
  80. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/join.js +165 -0
  81. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/map.js +175 -0
  82. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/method.js +55 -0
  83. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/nodeback.js +51 -0
  84. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/nodeify.js +58 -0
  85. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/promise.js +819 -0
  86. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/promise_array.js +186 -0
  87. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/promisify.js +314 -0
  88. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/props.js +118 -0
  89. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/queue.js +73 -0
  90. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/race.js +49 -0
  91. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/reduce.js +183 -0
  92. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/schedule.js +62 -0
  93. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/settle.js +47 -0
  94. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/some.js +148 -0
  95. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/synchronous_inspection.js +103 -0
  96. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/thenables.js +86 -0
  97. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/timers.js +93 -0
  98. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/using.js +226 -0
  99. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/js/release/util.js +421 -0
  100. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bluebird/package.json +78 -0
  101. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/.npmignore +25 -0
  102. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/.travis.yml +7 -0
  103. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/LICENSE +21 -0
  104. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/README.md +44 -0
  105. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/example.js +3 -0
  106. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/generator.js +28 -0
  107. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/index.js +33 -0
  108. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/package.json +29 -0
  109. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/bresenham/test/index.js +64 -0
  110. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/earcut/LICENSE +15 -0
  111. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/earcut/README.md +255 -0
  112. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/earcut/package.json +43 -0
  113. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/earcut/src/earcut.js +681 -0
  114. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  115. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/README.md +73 -0
  116. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/es2015/index.js +6 -0
  117. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/es2015/text.js +6 -0
  118. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/index.d.ts +23 -0
  119. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/index.js +6 -0
  120. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/package.json +50 -0
  121. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/emoji-regex/text.js +6 -0
  122. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ieee754/LICENSE +11 -0
  123. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ieee754/README.md +51 -0
  124. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ieee754/index.d.ts +10 -0
  125. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ieee754/index.js +85 -0
  126. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/ieee754/package.json +52 -0
  127. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  128. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/is-fullwidth-code-point/index.js +50 -0
  129. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/is-fullwidth-code-point/license +9 -0
  130. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/is-fullwidth-code-point/package.json +42 -0
  131. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/is-fullwidth-code-point/readme.md +39 -0
  132. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/keypress/README.md +101 -0
  133. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/keypress/index.js +408 -0
  134. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/keypress/package.json +20 -0
  135. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/keypress/test.js +28 -0
  136. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.eslintrc.js +36 -0
  137. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.github/ISSUE_TEMPLATE/BugReport.md +26 -0
  138. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.github/ISSUE_TEMPLATE/FeatureRequest.md +22 -0
  139. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.github/ISSUE_TEMPLATE/Question.md +14 -0
  140. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.github/ISSUE_TEMPLATE/Support.md +15 -0
  141. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/.travis.yml +9 -0
  142. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/AUTHORS +7 -0
  143. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/LICENSE +22 -0
  144. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/README.md +144 -0
  145. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/bin/mapscii.sh +6 -0
  146. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/main.js +55 -0
  147. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/package.json +49 -0
  148. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/snap/snapcraft.yaml +19 -0
  149. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/BrailleBuffer.js +211 -0
  150. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/Canvas.js +202 -0
  151. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/LabelBuffer.js +57 -0
  152. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/Mapscii.js +322 -0
  153. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/Renderer.js +340 -0
  154. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/Styler.js +133 -0
  155. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/Tile.js +167 -0
  156. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/TileSource.js +177 -0
  157. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/TileSource.spec.js +12 -0
  158. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/config.js +52 -0
  159. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/utils.js +103 -0
  160. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/src/utils.spec.js +47 -0
  161. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/styles/bright.json +2191 -0
  162. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/mapscii/styles/dark.json +1560 -0
  163. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/node-fetch/LICENSE.md +22 -0
  164. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/node-fetch/README.md +634 -0
  165. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/node-fetch/browser.js +25 -0
  166. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/node-fetch/package.json +89 -0
  167. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/LICENSE +27 -0
  168. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/README.md +453 -0
  169. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/bin/pbf +19 -0
  170. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/compile.js +435 -0
  171. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/index.js +642 -0
  172. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/pbf/package.json +81 -0
  173. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/.travis.yml +7 -0
  174. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/LICENSE +21 -0
  175. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/README.md +122 -0
  176. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/example.js +11 -0
  177. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/example.proto +13 -0
  178. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/index.js +6 -0
  179. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/package.json +31 -0
  180. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/parse.js +769 -0
  181. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/stringify.js +206 -0
  182. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/basic.json +90 -0
  183. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/basic.proto +11 -0
  184. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/comments.json +99 -0
  185. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/comments.proto +19 -0
  186. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/complex.json +125 -0
  187. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/complex.proto +30 -0
  188. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/enum.json +42 -0
  189. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/enum.proto +8 -0
  190. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/escaped-quotes.json +32 -0
  191. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/escaped-quotes.proto +3 -0
  192. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/extend.json +167 -0
  193. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/extend.proto +19 -0
  194. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/import.json +30 -0
  195. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/import.proto +6 -0
  196. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/map.json +33 -0
  197. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/map.proto +3 -0
  198. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/no-tags.proto +8 -0
  199. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/oneof.json +41 -0
  200. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/oneof.proto +6 -0
  201. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/option.json +364 -0
  202. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/option.proto +72 -0
  203. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/options.json +47 -0
  204. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/options.proto +8 -0
  205. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/pheromon-trajectories.proto +8 -0
  206. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/reserved.json +55 -0
  207. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/reserved.proto +17 -0
  208. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/search.json +30 -0
  209. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/search.proto +5 -0
  210. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/service.json +108 -0
  211. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/service.proto +30 -0
  212. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/valid-packed.proto +35 -0
  213. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/version.json +90 -0
  214. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/fixtures/version.proto +13 -0
  215. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/test/index.js +157 -0
  216. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/protocol-buffers-schema/tokenize.js +56 -0
  217. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/quickselect/LICENSE +15 -0
  218. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/quickselect/README.md +28 -0
  219. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/quickselect/index.js +54 -0
  220. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/quickselect/package.json +43 -0
  221. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/quickselect/quickselect.js +63 -0
  222. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/LICENSE +21 -0
  223. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/README.md +218 -0
  224. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/index.js +512 -0
  225. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/package.json +56 -0
  226. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/rbush.js +574 -0
  227. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/rbush/rbush.min.js +1 -0
  228. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/.travis.yml +3 -0
  229. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/LICENSE +21 -0
  230. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/README.md +49 -0
  231. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/index.js +50 -0
  232. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/package.json +25 -0
  233. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/test/a.proto +5 -0
  234. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/test/b.proto +5 -0
  235. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/test/c.proto +3 -0
  236. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/resolve-protobuf-schema/test/index.js +49 -0
  237. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/simplify-js/LICENSE +22 -0
  238. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/simplify-js/README.md +19 -0
  239. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/simplify-js/index.d.ts +9 -0
  240. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/simplify-js/package.json +38 -0
  241. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/simplify-js/simplify.js +123 -0
  242. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/string-width/index.d.ts +29 -0
  243. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/string-width/index.js +47 -0
  244. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/string-width/license +9 -0
  245. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/string-width/package.json +56 -0
  246. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/string-width/readme.md +50 -0
  247. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/strip-ansi/index.d.ts +17 -0
  248. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/strip-ansi/index.js +4 -0
  249. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/strip-ansi/license +9 -0
  250. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/strip-ansi/package.json +54 -0
  251. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/strip-ansi/readme.md +46 -0
  252. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/History.md +5 -0
  253. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/LICENSE +20 -0
  254. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/README.md +54 -0
  255. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/index.js +204 -0
  256. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/package.json +10 -0
  257. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/term-mouse/test.js +12 -0
  258. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/tr46/.npmignore +4 -0
  259. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/tr46/index.js +193 -0
  260. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/tr46/package.json +31 -0
  261. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/userhome/LICENSE-MIT +22 -0
  262. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/userhome/README.md +27 -0
  263. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/userhome/index.js +14 -0
  264. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/userhome/package.json +35 -0
  265. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/userhome/test.js +19 -0
  266. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/webidl-conversions/LICENSE.md +12 -0
  267. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/webidl-conversions/README.md +53 -0
  268. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/webidl-conversions/package.json +23 -0
  269. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/whatwg-url/LICENSE.txt +21 -0
  270. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/whatwg-url/README.md +67 -0
  271. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/whatwg-url/package.json +32 -0
  272. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/.travis.yml +6 -0
  273. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/colors.json +256 -0
  274. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/example/charm.js +5 -0
  275. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/example/ix.js +3 -0
  276. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/example/raw.js +3 -0
  277. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/index.js +35 -0
  278. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/package.json +53 -0
  279. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/readme.markdown +83 -0
  280. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/node_modules/x256/test/id.js +36 -0
  281. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/package-lock.json +265 -0
  282. libwatchduty-0.1.0.data/data/share/libwatchduty/vendor/mapscii/package.json +9 -0
  283. libwatchduty-0.1.0.dist-info/METADATA +223 -0
  284. libwatchduty-0.1.0.dist-info/RECORD +286 -0
  285. libwatchduty-0.1.0.dist-info/WHEEL +4 -0
  286. libwatchduty-0.1.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,9 @@
1
+ """Watch Duty API client library.
2
+
3
+ Exports WatchDutyClient (HTTP client) and WatchDutyError (raised on non-2xx responses).
4
+ """
5
+
6
+ from .client import WatchDutyClient, WatchDutyError
7
+
8
+ __all__ = ["WatchDutyClient", "WatchDutyError"]
9
+ __version__ = "0.1.0"
@@ -0,0 +1,5 @@
1
+ """Entry point for `python -m libwatchduty` — dispatches to the watchduty CLI."""
2
+ from .cli import main
3
+ import sys
4
+
5
+ sys.exit(main())
@@ -0,0 +1,148 @@
1
+ """Aircraft catalog cache + regex chip extraction from report text.
2
+
3
+ The Watch Duty API exposes ``/aircraft/`` as a global catalog only — there is
4
+ no per-fire assignment endpoint. This module:
5
+
6
+ 1. Caches the catalog on disk (~/.cache/libwatchduty/aircraft.json, 24h TTL).
7
+ 2. Lets callers look up an aircraft by tail/callsign/hex/etc.
8
+ 3. Extracts plausible aircraft + resource mentions from free-form update text
9
+ so the TUI can render them as colored chips. Conservative: prefers
10
+ precision over recall.
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ import json
16
+ import os
17
+ import re
18
+ import time
19
+ from pathlib import Path
20
+ from typing import Any, Iterable
21
+
22
+ CACHE_TTL_SECONDS = 24 * 60 * 60
23
+ CACHE_PATH = Path(
24
+ os.environ.get("XDG_CACHE_HOME")
25
+ or Path.home() / ".cache"
26
+ ) / "libwatchduty" / "aircraft.json"
27
+
28
+
29
+ def _cache_path() -> Path:
30
+ """Resolve the on-disk cache path, creating parents lazily on write."""
31
+ return CACHE_PATH
32
+
33
+
34
+ def load_catalog(client: Any, *, force_refresh: bool = False) -> list[dict]:
35
+ """Return the aircraft catalog, served from cache when fresh.
36
+
37
+ Args:
38
+ client: any WatchDutyClient (uses ``client.list_aircraft()``).
39
+ force_refresh: bypass the on-disk cache and refetch.
40
+
41
+ Cache TTL is 24h. On any cache read error the catalog is refetched.
42
+ """
43
+ p = _cache_path()
44
+ if not force_refresh and p.is_file():
45
+ try:
46
+ age = time.time() - p.stat().st_mtime
47
+ if age < CACHE_TTL_SECONDS:
48
+ return json.loads(p.read_text())
49
+ except (OSError, ValueError):
50
+ pass
51
+ catalog = client.list_aircraft() or []
52
+ try:
53
+ p.parent.mkdir(parents=True, exist_ok=True)
54
+ p.write_text(json.dumps(catalog))
55
+ except OSError:
56
+ pass
57
+ return catalog
58
+
59
+
60
+ _SEARCH_FIELDS = ("tail_num", "hex_code", "short_callsign", "name", "model", "type")
61
+
62
+
63
+ def lookup(catalog: list[dict], query: str, *, limit: int = 50) -> list[dict]:
64
+ """Case-insensitive substring match across the common aircraft fields.
65
+
66
+ Returns up to ``limit`` matches preserving catalog order.
67
+ """
68
+ q = (query or "").strip().lower()
69
+ if not q:
70
+ return []
71
+ out: list[dict] = []
72
+ for a in catalog:
73
+ for f in _SEARCH_FIELDS:
74
+ v = a.get(f)
75
+ if isinstance(v, str) and q in v.lower():
76
+ out.append(a)
77
+ break
78
+ if len(out) >= limit:
79
+ break
80
+ return out
81
+
82
+
83
+ # Chip-extraction patterns. Order matters — more specific first so a generic
84
+ # "tanker" mention does not eat an exact "T-105" match.
85
+ _CHIP_PATTERNS: list[tuple[str, re.Pattern[str], str]] = [
86
+ ("aircraft", re.compile(r"\bT-?\d{1,4}\b", re.I), "tanker"),
87
+ ("aircraft", re.compile(r"\b(?:Air[\s-]?Attack|AA)[\s-]?\d{1,4}\b", re.I), "air_attack"),
88
+ ("aircraft", re.compile(r"\b(?:Helo|Helicopter|H)[\s-]?\d{1,4}\b", re.I), "helo"),
89
+ ("aircraft", re.compile(r"\bN\d{1,4}[A-Z]{0,2}\b"), "tail"),
90
+ ("aircraft", re.compile(r"\bC-?130\b", re.I), "c130"),
91
+ ("aircraft", re.compile(r"\bMD-?87\b", re.I), "md87"),
92
+ ("aircraft", re.compile(r"\bDC-?10\b", re.I), "dc10"),
93
+ ("resource", re.compile(r"\btype\s*[1-7]\s*(?:air\s*tankers?|helicopters?|engines?|crews?|strike\s*teams?)\b", re.I), "resource"),
94
+ ("resource", re.compile(r"\b(?:VLAT|LAT|SEAT|MAFFS|Hotshots?|Smokejumpers?|Air\s*Attack|Helitack)\b", re.I), "resource"),
95
+ ("resource", re.compile(r"\b\d{1,3}\s*(?:engines?|crews?|hand\s*crews?|dozers?|water\s*tenders?)\b", re.I), "resource"),
96
+ ]
97
+
98
+
99
+ def extract_chips(text: str) -> list[dict]:
100
+ """Find plausible aircraft + resource mentions in ``text``.
101
+
102
+ Returns a list of ``{label, kind, matched_text, pattern}`` dicts in source
103
+ order, de-duplicated by ``label.lower()``. ``label`` is the matched text
104
+ trimmed of trailing punctuation; ``kind`` is "aircraft" or "resource".
105
+
106
+ Conservative — fragile field; tweak ``_CHIP_PATTERNS`` to add coverage.
107
+ """
108
+ if not text:
109
+ return []
110
+ seen: set[str] = set()
111
+ chips: list[dict] = []
112
+ for kind, pat, name in _CHIP_PATTERNS:
113
+ for m in pat.finditer(text):
114
+ raw = m.group(0).strip(" .,;:!?()")
115
+ key = raw.lower()
116
+ if key in seen:
117
+ continue
118
+ seen.add(key)
119
+ chips.append({
120
+ "label": raw,
121
+ "kind": kind,
122
+ "matched_text": raw,
123
+ "pattern": name,
124
+ })
125
+ return chips
126
+
127
+
128
+ def enrich_chips(
129
+ chips: list[dict], catalog: list[dict]
130
+ ) -> list[dict]:
131
+ """Attach ``catalog_hit`` to each chip when its label matches a catalog row.
132
+
133
+ Returns a new list; original chips are not mutated.
134
+ """
135
+ if not chips:
136
+ return []
137
+ out: list[dict] = []
138
+ for chip in chips:
139
+ hit = None
140
+ if chip["kind"] == "aircraft":
141
+ hits = lookup(catalog, chip["label"], limit=1)
142
+ if hits:
143
+ hit = hits[0]
144
+ out.append({**chip, "catalog_hit": hit})
145
+ return out
146
+
147
+
148
+ __all__ = ["load_catalog", "lookup", "extract_chips", "enrich_chips", "CACHE_TTL_SECONDS"]