@tak-ps/node-tak 8.9.0 → 9.0.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 (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +47 -1
  3. package/cli.ts +174 -0
  4. package/dist/cli.js +135 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.js +20 -7
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/api/contacts.js +24 -4
  9. package/dist/lib/api/contacts.js.map +1 -1
  10. package/dist/lib/api/credentials.js +16 -4
  11. package/dist/lib/api/credentials.js.map +1 -1
  12. package/dist/lib/api/export.js +5 -4
  13. package/dist/lib/api/export.js.map +1 -1
  14. package/dist/lib/api/files.js +40 -8
  15. package/dist/lib/api/files.js.map +1 -1
  16. package/dist/lib/api/groups.js +24 -4
  17. package/dist/lib/api/groups.js.map +1 -1
  18. package/dist/lib/api/injectors.js +24 -4
  19. package/dist/lib/api/injectors.js.map +1 -1
  20. package/dist/lib/api/mission-layer.js +11 -4
  21. package/dist/lib/api/mission-layer.js.map +1 -1
  22. package/dist/lib/api/mission-log.js +5 -4
  23. package/dist/lib/api/mission-log.js.map +1 -1
  24. package/dist/lib/api/mission.js +24 -4
  25. package/dist/lib/api/mission.js.map +1 -1
  26. package/dist/lib/api/oauth.js +5 -4
  27. package/dist/lib/api/oauth.js.map +1 -1
  28. package/dist/lib/api/package.js +24 -4
  29. package/dist/lib/api/package.js.map +1 -1
  30. package/dist/lib/api/query.js +5 -4
  31. package/dist/lib/api/query.js.map +1 -1
  32. package/dist/lib/api/repeater.js +5 -4
  33. package/dist/lib/api/repeater.js.map +1 -1
  34. package/dist/lib/api/subscriptions.js +5 -4
  35. package/dist/lib/api/subscriptions.js.map +1 -1
  36. package/dist/lib/api/video.js +16 -4
  37. package/dist/lib/api/video.js.map +1 -1
  38. package/dist/lib/api.js +17 -0
  39. package/dist/lib/api.js.map +1 -1
  40. package/dist/lib/auth.js +11 -0
  41. package/dist/lib/auth.js.map +1 -1
  42. package/dist/lib/commands.js +27 -0
  43. package/dist/lib/commands.js.map +1 -0
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/index.ts +33 -18
  46. package/lib/api/contacts.ts +23 -5
  47. package/lib/api/credentials.ts +17 -6
  48. package/lib/api/export.ts +5 -5
  49. package/lib/api/files.ts +43 -10
  50. package/lib/api/groups.ts +24 -5
  51. package/lib/api/injectors.ts +24 -5
  52. package/lib/api/mission-layer.ts +11 -5
  53. package/lib/api/mission-log.ts +5 -5
  54. package/lib/api/mission.ts +24 -5
  55. package/lib/api/oauth.ts +5 -5
  56. package/lib/api/package.ts +24 -5
  57. package/lib/api/query.ts +5 -5
  58. package/lib/api/repeater.ts +5 -5
  59. package/lib/api/subscriptions.ts +5 -5
  60. package/lib/api/video.ts +16 -5
  61. package/lib/api.ts +18 -0
  62. package/lib/auth.ts +12 -0
  63. package/lib/commands.ts +41 -0
  64. package/package.json +7 -1
  65. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"repeater.js","sourceRoot":"","sources":["../../../lib/api/repeater.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;IAChC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElD,MAAM,CAAC,OAAO;IACV,GAAG,CAAS;IAEZ,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAe;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,8BAA8B,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"repeater.js","sourceRoot":"","sources":["../../../lib/api/repeater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAC;AACjD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;IAChC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ;IAClD,MAAM,GAAG,EAAE,CAAA;IAEX,KAAK,CAAC,GAAG;QACL,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAe;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,8BAA8B,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,6 +1,7 @@
1
1
  import { Type } from '@sinclair/typebox';
2
2
  import { Group } from './groups.js';
3
3
  import { TAKList } from './types.js';
4
+ import Commands from '../commands.js';
4
5
  export const Subscription = Type.Object({
5
6
  dn: Type.Union([Type.String(), Type.Null()]),
6
7
  callsign: Type.String(),
@@ -52,10 +53,10 @@ export const ListSubscriptionInput = Type.Object({
52
53
  })
53
54
  });
54
55
  export const TAKList_Subscription = TAKList(Subscription);
55
- export default class {
56
- api;
57
- constructor(api) {
58
- this.api = api;
56
+ export default class SubscriptionCommands extends Commands {
57
+ schema = {};
58
+ async cli() {
59
+ throw new Error('Unsupported Subcommand');
59
60
  }
60
61
  async list(query) {
61
62
  const url = new URL(`/Marti/api/subscriptions/all`, this.api.url);
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../lib/api/subscriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../lib/api/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Err from '@openaddresses/batch-error';
2
2
  import { Type } from '@sinclair/typebox';
3
3
  import { randomUUID } from 'node:crypto';
4
+ import Commands from '../commands.js';
4
5
  export const FeedInput = Type.Object({
5
6
  uuid: Type.Optional(Type.String()),
6
7
  active: Type.Boolean({ default: true }),
@@ -53,10 +54,21 @@ export const VideoConnectionList = Type.Object({
53
54
  export const VideoConnectionListInput = Type.Object({
54
55
  protocol: Type.Optional(Type.String())
55
56
  });
56
- export default class {
57
- api;
58
- constructor(api) {
59
- this.api = api;
57
+ export default class VideoCommands extends Commands {
58
+ schema = {
59
+ list: {
60
+ description: 'List V2 Video Configs',
61
+ params: Type.Object({}),
62
+ query: Type.Object({})
63
+ }
64
+ };
65
+ async cli(args) {
66
+ if (args._[3] === 'list') {
67
+ return await this.list();
68
+ }
69
+ else {
70
+ throw new Error('Unsupported Subcommand');
71
+ }
60
72
  }
61
73
  async list(query = {}) {
62
74
  const url = new URL(`/Marti/api/video`, this.api.url);
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../lib/api/video.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAU,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;QACjB,OAAO,EAAE,IAAI;KAChB,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;IACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAElB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;IACzB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;IACzB,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;IAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;IACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO;IACV,GAAG,CAAS;IAEZ,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CACN,QAAiD,EAAE;QAEnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAgD,CAAC;QACrD,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CACR,UAA+C;QAE/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QAEvF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE;gBACF,GAAG,UAAU;gBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,IAAI;wBAAE,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CACR,UAA+C;QAE/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;QAE7C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACF,gBAAgB,EAAE,CAAC;wBACf,IAAI;wBACJ,GAAG,UAAU;wBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4BACjC,OAAO;gCACH,IAAI,EAAE,UAAU,EAAE;gCAClB,GAAG,IAAI;6BACV,CAAA;wBACL,CAAC,CAAC;qBACL,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAG,CACL,GAAW;QAEX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW;QAEX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../lib/api/video.ts"],"names":[],"mappings":"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"}
package/dist/lib/api.js CHANGED
@@ -15,6 +15,23 @@ import Subscription from './api/subscriptions.js';
15
15
  import Video from './api/video.js';
16
16
  import Export from './api/export.js';
17
17
  import Err from '@openaddresses/batch-error';
18
+ export const CommandList = {
19
+ package: 'Package',
20
+ oauth: 'OAuth',
21
+ mission: 'Mission',
22
+ 'mission-log': 'MissionLog',
23
+ 'mission-layer': 'MissionLayer',
24
+ credential: 'Credentials',
25
+ contact: 'Contacts',
26
+ subscription: 'Subscription',
27
+ injector: 'Injectors',
28
+ repeater: 'Repeater',
29
+ group: 'Group',
30
+ video: 'Video',
31
+ export: 'Export',
32
+ query: 'Query',
33
+ file: 'Files'
34
+ };
18
35
  /**
19
36
  * Handle TAK HTTP API Operations
20
37
  * @class
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"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"}
package/dist/lib/auth.js CHANGED
@@ -1,8 +1,19 @@
1
1
  import fetch from './fetch.js';
2
+ import { Type } from '@sinclair/typebox';
2
3
  import { CookieJar, Cookie } from 'tough-cookie';
3
4
  import { CookieAgent } from 'http-cookie-agent/undici';
4
5
  import { Client } from 'undici';
5
6
  import stream2buffer from './stream.js';
7
+ /**
8
+ * Store the TAK Client Certificate for a connection
9
+ */
10
+ export const TAKAuth = Type.Object({
11
+ cert: Type.String(),
12
+ key: Type.String(),
13
+ passphrase: Type.Optional(Type.String()),
14
+ ca: Type.Optional(Type.String()),
15
+ rejectUnauthorized: Type.Optional(Type.Boolean())
16
+ });
6
17
  export class APIAuth {
7
18
  async init(api) {
8
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { TAKAuth } from './auth.js';
2
+ import { Type } from '@sinclair/typebox';
3
+ export const CommandConfig = Type.Object({
4
+ version: Type.Integer(),
5
+ profiles: Type.Record(Type.String(), Type.Object({
6
+ host: Type.String(),
7
+ ports: Type.Object({
8
+ marti: Type.Integer(),
9
+ webtak: Type.Integer(),
10
+ stream: Type.Integer()
11
+ }),
12
+ auth: Type.Optional(TAKAuth)
13
+ }))
14
+ });
15
+ export default class Commands {
16
+ api;
17
+ schema = {};
18
+ constructor(api) {
19
+ this.api = api;
20
+ }
21
+ async cli(args) {
22
+ if (!args)
23
+ throw new Error('Args object must be provided');
24
+ throw new Error('Command not yet supported');
25
+ }
26
+ }
27
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../lib/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,CACjB,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;SACzB,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC/B,CAAC,CACL;CACJ,CAAC,CAAA;AAGF,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,GAAG,CAAS;IAEZ,MAAM,GAID,EAAE,CAAC;IAER,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAgB;QACtB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"root":["../index.ts","../test/default.test.ts","../test/findCoT.test.ts","../lib/api.ts","../lib/auth.ts","../lib/fetch.ts","../lib/stream.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/injectors.ts","../lib/api/mission-layer.ts","../lib/api/mission-log.ts","../lib/api/mission.ts","../lib/api/oauth.ts","../lib/api/package.ts","../lib/api/query.ts","../lib/api/repeater.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/video.ts"],"version":"5.8.3"}
1
+ {"root":["../cli.ts","../index.ts","../test/default.test.ts","../test/findCoT.test.ts","../lib/api.ts","../lib/auth.ts","../lib/commands.ts","../lib/fetch.ts","../lib/stream.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/injectors.ts","../lib/api/mission-layer.ts","../lib/api/mission-log.ts","../lib/api/mission.ts","../lib/api/oauth.ts","../lib/api/package.ts","../lib/api/query.ts","../lib/api/repeater.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/video.ts"],"version":"5.8.3"}
package/index.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import EventEmitter from 'node:events';
2
+ import type { Static } from '@sinclair/typebox';
2
3
  import tls from 'node:tls';
3
4
  import CoT from '@tak-ps/node-cot';
4
5
  import type { TLSSocket } from 'node:tls'
5
6
 
6
7
  import TAKAPI from './lib/api.js';
8
+ import { TAKAuth } from './lib/auth.js';
7
9
  export * from './lib/auth.js';
8
10
 
9
11
  /* eslint-disable no-control-regex */
@@ -12,24 +14,21 @@ export const REGEX_CONTROL = /[\u000B-\u001F\u007F-\u009F]/g;
12
14
  // Match <event .../> or <event> but not <events>
13
15
  export const REGEX_EVENT = /(<event[ >][\s\S]*?<\/event>)([\s\S]*)/
14
16
 
15
- /**
16
- * Store the TAK Client Certificate for a connection
17
- */
18
- export interface TAKAuth {
19
- cert: string;
20
- key: string;
21
- }
22
-
23
17
  export interface PartialCoT {
24
18
  event: string;
25
19
  remainder: string;
26
20
  }
27
21
 
22
+ export type TAKOptions = {
23
+ id?: number | string,
24
+ type?: string,
25
+ }
26
+
28
27
  export default class TAK extends EventEmitter {
29
28
  id: number | string;
30
29
  type: string;
31
30
  url: URL;
32
- auth: TAKAuth;
31
+ auth: Static<typeof TAKAuth>;
33
32
  open: boolean;
34
33
  destroyed: boolean;
35
34
  queue: string[];
@@ -39,17 +38,27 @@ export default class TAK extends EventEmitter {
39
38
  client?: TLSSocket;
40
39
  version?: string;
41
40
 
41
+ /**
42
+ * @constructor
43
+ *
44
+ * @param url - Full URL of Streaming COT Endpoint IE: "https://ops.cotak.gov:8089"
45
+ * @param auth - TAK Certificate Pair
46
+ * @param opts - Options Object
47
+ * @param opts.id - When using multiple connections in a script, allows a unique ID per connection
48
+ * @param opts.type - When using multiple connections in a script, allows specifying a script provided connection type
49
+ */
42
50
  constructor(
43
- id: number | string,
44
- type: string,
45
51
  url: URL,
46
- auth: TAKAuth
52
+ auth: Static<typeof TAKAuth>,
53
+ opts: TAKOptions = {}
47
54
  ) {
48
55
  super();
49
56
 
50
- this.id = id;
57
+ if (!opts) opts = {};
58
+
59
+ this.id = opts.id || crypto.randomUUID();
60
+ this.type = opts.type || 'unknown';
51
61
 
52
- this.type = type;
53
62
  this.url = url;
54
63
  this.auth = auth;
55
64
 
@@ -61,8 +70,12 @@ export default class TAK extends EventEmitter {
61
70
  this.queue = [];
62
71
  }
63
72
 
64
- static async connect(id: number | string, url: URL, auth: TAKAuth): Promise<TAK> {
65
- const tak = new TAK(id, 'ssl', url, auth);
73
+ static async connect(
74
+ url: URL,
75
+ auth: Static<typeof TAKAuth>,
76
+ opts: TAKOptions = {}
77
+ ): Promise<TAK> {
78
+ const tak = new TAK(url, auth, opts);
66
79
 
67
80
  if (url.protocol === 'ssl:') {
68
81
  if (!tak.auth.cert) throw new Error('auth.cert required');
@@ -80,9 +93,11 @@ export default class TAK extends EventEmitter {
80
93
  this.client = tls.connect({
81
94
  host: this.url.hostname,
82
95
  port: parseInt(this.url.port),
83
- rejectUnauthorized: false,
96
+ rejectUnauthorized: this.auth.rejectUnauthorized ?? false,
84
97
  cert: this.auth.cert,
85
- key: this.auth.key
98
+ key: this.auth.key,
99
+ passphrase: this.auth.passphrase,
100
+ ca: this.auth.ca,
86
101
  });
87
102
 
88
103
  this.client.setNoDelay();
@@ -1,5 +1,6 @@
1
- import TAKAPI from '../api.js';
2
1
  import { Type, Static } from '@sinclair/typebox';
2
+ import type { ParsedArgs } from 'minimist'
3
+ import Commands from '../commands.js';
3
4
 
4
5
  export const Contact = Type.Object({
5
6
  filterGroups: Type.Any(), // I'm not familiar with this one
@@ -11,11 +12,28 @@ export const Contact = Type.Object({
11
12
  uid: Type.String()
12
13
  });
13
14
 
14
- export default class {
15
- api: TAKAPI;
15
+ export default class ContactCommands extends Commands {
16
+ schema = {
17
+ list: {
18
+ description: 'List Contacts',
19
+ params: Type.Object({}),
20
+ query: Type.Object({})
21
+ }
22
+ }
16
23
 
17
- constructor(api: TAKAPI) {
18
- this.api = api;
24
+ async cli(args: ParsedArgs): Promise<object | string> {
25
+ if (args._[3] === 'list') {
26
+ const list = await this.list();
27
+ if (args.format === 'json') {
28
+ return list;
29
+ } else {
30
+ return list.map((contact) => {
31
+ return `${contact.callsign || '<No Callsign Set>'} (${contact.notes.trim()})`;
32
+ }).join('\n');
33
+ }
34
+ } else {
35
+ throw new Error('Unsupported Subcommand');
36
+ }
19
37
  }
20
38
 
21
39
  async list(): Promise<Array<Static<typeof Contact>>> {
@@ -1,6 +1,7 @@
1
- import TAKAPI from '../api.js';
2
1
  import { APIAuthPassword } from '../auth.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Static, Type } from '@sinclair/typebox';
4
+ import Commands from '../commands.js';
4
5
  import pem from 'pem';
5
6
  import xml2js from 'xml2js';
6
7
 
@@ -9,14 +10,24 @@ export const CertificateResponse = Type.Object({
9
10
  key: Type.String()
10
11
  });
11
12
 
12
- export default class {
13
- api: TAKAPI;
13
+ export default class CredentialCommands extends Commands {
14
+ schema = {
15
+ config: {
16
+ description: 'Return TLS Config Info',
17
+ params: Type.Object({}),
18
+ query: Type.Object({})
19
+ }
20
+ }
14
21
 
15
- constructor(api: TAKAPI) {
16
- this.api = api;
22
+ async cli(args: ParsedArgs): Promise<object | string> {
23
+ if (args._[3] === 'config') {
24
+ return this.config();
25
+ } else {
26
+ throw new Error('Unsupported Subcommand');
27
+ }
17
28
  }
18
29
 
19
- async config() {
30
+ async config(): Promise<string> {
20
31
  const url = new URL(`/Marti/api/tls/config`, this.api.url);
21
32
  return await this.api.fetch(url, {
22
33
  method: 'GET'
package/lib/api/export.ts CHANGED
@@ -1,6 +1,6 @@
1
- import TAKAPI from '../api.js';
2
1
  import { Type, Static } from '@sinclair/typebox';
3
2
  import { Readable } from 'node:stream';
3
+ import Commands from '../commands.js';
4
4
 
5
5
  export const ExportInput = Type.Object({
6
6
  startTime: Type.String(),
@@ -16,11 +16,11 @@ export const ExportInput = Type.Object({
16
16
  /**
17
17
  * @class
18
18
  */
19
- export default class {
20
- api: TAKAPI;
19
+ export default class ExportCommands extends Commands {
20
+ schema = {};
21
21
 
22
- constructor(api: TAKAPI) {
23
- this.api = api;
22
+ async cli(): Promise<object | string> {
23
+ throw new Error('Unsupported Subcommand');
24
24
  }
25
25
 
26
26
  async export(query: Static<typeof ExportInput>): Promise<Readable> {
package/lib/api/files.ts CHANGED
@@ -1,7 +1,9 @@
1
- import TAKAPI from '../api.js';
2
1
  import FormData from 'form-data';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Readable } from 'node:stream';
4
4
  import mime from 'mime';
5
+ import Commands from '../commands.js';
6
+ import { TAKList } from './types.js';
5
7
  import { Type, Static } from '@sinclair/typebox';
6
8
 
7
9
  export const Content = Type.Object({
@@ -16,22 +18,53 @@ export const Content = Type.Object({
16
18
  Name: Type.String()
17
19
  });
18
20
 
21
+ export const TAKList_Content = TAKList(Type.Object({
22
+ filename: Type.String(),
23
+ keywords: Type.Array(Type.String()),
24
+ mimeType: Type.String(),
25
+ name: Type.String(),
26
+ submissionTime: Type.String(),
27
+ submitter: Type.String(),
28
+ uid: Type.String(),
29
+ size: Type.Integer(),
30
+ }));
31
+
19
32
  export const Config = Type.Object({
20
33
  uploadSizeLimit: Type.Integer()
21
34
  })
22
35
 
23
- export default class File {
24
- api: TAKAPI;
36
+ export default class FileCommands extends Commands {
37
+ schema = {
38
+ list: {
39
+ description: 'List Files',
40
+ params: Type.Object({}),
41
+ query: Type.Object({})
42
+ }
43
+ }
25
44
 
26
- constructor(api: TAKAPI) {
27
- this.api = api;
45
+ async cli(args: ParsedArgs): Promise<object | string> {
46
+ if (args._[3] === 'list') {
47
+ const list = await this.list();
48
+
49
+ if (args.format === 'json') {
50
+ return list;
51
+ } else {
52
+ return list.data.map((data) => {
53
+ return data.filename;
54
+ }).join('\n');
55
+ }
56
+ } else {
57
+ throw new Error('Unsupported Subcommand');
58
+ }
28
59
  }
29
60
 
30
- // TODO Investigate this endpoint
31
- list() {
32
- new URL(`/Marti/api/sync/search`, this.api.url);
33
- // param hash=<hash>
34
- }
61
+ async list(): Promise<Static<typeof TAKList_Content>> {
62
+ const url = new URL(`/Marti/api/sync/search`, this.api.url);
63
+
64
+ return await this.api.fetch(url, {
65
+ method: 'GET'
66
+ });
67
+ }
35
68
 
36
69
  async meta(hash: string): Promise<string> {
37
70
  const url = new URL(`/Marti/sync/${encodeURIComponent(hash)}/metadata`, this.api.url);
package/lib/api/groups.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Static, Type } from '@sinclair/typebox';
2
- import TAKAPI from '../api.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { TAKList } from './types.js';
4
+ import Commands from '../commands.js';
4
5
 
5
6
  export const Group = Type.Object({
6
7
  name: Type.String(),
@@ -18,11 +19,29 @@ export const GroupListInput = Type.Object({
18
19
 
19
20
  export const TAKList_Group = TAKList(Group);
20
21
 
21
- export default class {
22
- api: TAKAPI;
22
+ export default class GroupCommands extends Commands {
23
+ schema = {
24
+ list: {
25
+ description: 'List Missions',
26
+ params: Type.Object({}),
27
+ query: Type.Object({})
28
+ }
29
+ }
30
+
31
+ async cli(args: ParsedArgs): Promise<object | string> {
32
+ if (args._[3] === 'list') {
33
+ const list = await this.list();
23
34
 
24
- constructor(api: TAKAPI) {
25
- this.api = api;
35
+ if (args.format === 'json') {
36
+ return list;
37
+ } else {
38
+ return list.data.map((channel) => {
39
+ return `${channel.name} - ${channel.description}`;
40
+ }).join('\n');
41
+ }
42
+ } else {
43
+ throw new Error('Unsupported Subcommand');
44
+ }
26
45
  }
27
46
 
28
47
  async list(
@@ -1,6 +1,7 @@
1
- import TAKAPI from '../api.js';
2
1
  import { TAKList } from './types.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Type, Static } from '@sinclair/typebox';
4
+ import Commands from '../commands.js';
4
5
 
5
6
  export const Injector = Type.Object({
6
7
  uid: Type.String(),
@@ -9,11 +10,29 @@ export const Injector = Type.Object({
9
10
 
10
11
  export const TAKList_Injector = TAKList(Injector);
11
12
 
12
- export default class {
13
- api: TAKAPI;
13
+ export default class InjectorCommands extends Commands {
14
+ schema = {
15
+ list: {
16
+ description: 'List Injectors',
17
+ params: Type.Object({}),
18
+ query: Type.Object({})
19
+ }
20
+ }
21
+
22
+ async cli(args: ParsedArgs): Promise<object | string> {
23
+ if (args._[3] === 'list') {
24
+ const list = await this.list();
14
25
 
15
- constructor(api: TAKAPI) {
16
- this.api = api;
26
+ if (args.format === 'json') {
27
+ return list;
28
+ } else {
29
+ return list.data.map((injector) => {
30
+ return `${injector.uid} - ${injector.toInject}`;
31
+ }).join('\n');
32
+ }
33
+ } else {
34
+ throw new Error('Unsupported Subcommand');
35
+ }
17
36
  }
18
37
 
19
38
  /**
@@ -1,9 +1,9 @@
1
- import TAKAPI from '../api.js';
2
1
  import { TAKList, TAKItem } from './types.js';
3
2
  import { Type, Static } from '@sinclair/typebox';
4
3
  import type { MissionOptions } from './mission.js';
5
4
  import { GUIDMatch } from './mission.js';
6
5
  import Err from '@openaddresses/batch-error';
6
+ import Commands from '../commands.js';
7
7
  import type { Feature } from '@tak-ps/node-cot';
8
8
 
9
9
  export enum MissionLayerType {
@@ -63,11 +63,17 @@ export const CreateInput = Type.Object({
63
63
  export const TAKList_MissionLayer = TAKList(MissionLayer);
64
64
  export const TAKItem_MissionLayer = TAKItem(MissionLayer);
65
65
 
66
- export default class {
67
- api: TAKAPI;
66
+ export default class MissionLayerCommands extends Commands {
67
+ schema = {
68
+ list: {
69
+ description: 'List Injectors',
70
+ params: Type.Object({}),
71
+ query: Type.Object({})
72
+ }
73
+ }
68
74
 
69
- constructor(api: TAKAPI) {
70
- this.api = api;
75
+ async cli(): Promise<object | string> {
76
+ throw new Error('Unsupported Subcommand');
71
77
  }
72
78
 
73
79
  #encodeName(name: string): string {