impossiblefxv1 1.13.2

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 (68) hide show
  1. package/HOWTO-PUBLISH.txt +15 -0
  2. package/README.md +21 -0
  3. package/apis/edit-2016-06-02.json +15 -0
  4. package/apis/metadata.json +31 -0
  5. package/apis/project-2016-06-01.json +56 -0
  6. package/apis/project-2016-06-02.json +767 -0
  7. package/apis/project-2023-03-07.json +767 -0
  8. package/apis/project-2023-12-11.json +767 -0
  9. package/apis/render-2016-06-02.json +764 -0
  10. package/apis/render-2023-12-11.json +764 -0
  11. package/dist/fx-sdk-latest.js +22494 -0
  12. package/dist-tools/build-browser.js +109 -0
  13. package/dist-tools/build-sdk.sh +6 -0
  14. package/dist-tools/es6-promise.js +957 -0
  15. package/dist-tools/foo.sh +4 -0
  16. package/dist-tools/publish.sh +6 -0
  17. package/lib/browser.js +58 -0
  18. package/lib/config.js +125 -0
  19. package/lib/core.js +15 -0
  20. package/lib/credentials/chain.js +54 -0
  21. package/lib/credentials/environment.js +69 -0
  22. package/lib/credentials/inifile.js +57 -0
  23. package/lib/credentials/token.js +38 -0
  24. package/lib/credentials.js +53 -0
  25. package/lib/encoding.js +36 -0
  26. package/lib/endpoint.js +18 -0
  27. package/lib/fx.js +50 -0
  28. package/lib/http/node.js +69 -0
  29. package/lib/http/xhr.js +12 -0
  30. package/lib/http.js +57 -0
  31. package/lib/proto.js +38 -0
  32. package/lib/protocol.js +56 -0
  33. package/lib/request.js +252 -0
  34. package/lib/response.js +24 -0
  35. package/lib/service.js +182 -0
  36. package/lib/services/batch.js +5 -0
  37. package/lib/services/edit.js +9 -0
  38. package/lib/services/project.js +102 -0
  39. package/lib/services/render.js +63 -0
  40. package/lib/services/story.js +5 -0
  41. package/lib/services.js +30 -0
  42. package/lib/util.js +126 -0
  43. package/package.json +37 -0
  44. package/package.json.save +36 -0
  45. package/proto/Movie.proto +4081 -0
  46. package/proto/fx.proto +43 -0
  47. package/templates/config.html +91 -0
  48. package/templates/examples.html +69 -0
  49. package/templates/getstarted.html +30 -0
  50. package/templates/index.html +6 -0
  51. package/templates/makeexample.py +57 -0
  52. package/templates/makerequests.html +210 -0
  53. package/templates/operation.html +36 -0
  54. package/templates/service.html +9 -0
  55. package/templates/services.html +19 -0
  56. package/templates/version.html +12 -0
  57. package/templates/versions.html +10 -0
  58. package/templates/workservice.html +68 -0
  59. package/test/circles.mp4 +0 -0
  60. package/test/config.js +131 -0
  61. package/test/index.html +35 -0
  62. package/test/mocha.opts +4 -0
  63. package/test/project.js +148 -0
  64. package/test/render.js +136 -0
  65. package/test/retry.js +53 -0
  66. package/test/sdktests.js +62 -0
  67. package/test/sdl.js +125 -0
  68. package/test/servertest/simple.js +20 -0
@@ -0,0 +1,767 @@
1
+ {
2
+ "version": "2.0",
3
+ "metadata": {
4
+ "apiVersion": "2016-06-01",
5
+ "nameSpace": "Project",
6
+ "protocol": "json",
7
+ "serviceFullName": "Impossible FX Project API"
8
+ },
9
+ "endpoint": "api-{region}.impossible.io",
10
+ "operations": {
11
+ "ListProjects": {
12
+ "http": {
13
+ "method": "GET",
14
+ "path": "/v1/list/project/"
15
+ },
16
+ "output": {
17
+ "type": "structure",
18
+ "members": {
19
+ "Projects": {
20
+ "type": "list",
21
+ "shape": "Project"
22
+ }
23
+ }
24
+ },
25
+ "transform": {
26
+ "output": {
27
+ "method": "TransformProjectList"
28
+ }
29
+ },
30
+ "documentation": "List all projects"
31
+ },
32
+ "DeleteProject": {
33
+ "http": {
34
+ "method": "DELETE",
35
+ "path": "/v1/project/{prjuid}"
36
+ },
37
+ "input": {
38
+ "type": "structure",
39
+ "members": {
40
+ "ProjectId": {
41
+ "type": "string",
42
+ "required": true,
43
+ "location": "uri",
44
+ "locationName": "prjuid",
45
+ "documentation": "The Project ID to delete"
46
+ }
47
+ }
48
+ },
49
+ "output": {
50
+ "shape": "StatusMessage"
51
+ },
52
+ "documentation": "Delete a project"
53
+ },
54
+ "CreateProject": {
55
+ "http": {
56
+ "method": "POST",
57
+ "path": "/v1/project/{name}"
58
+ },
59
+ "input": {
60
+ "type": "structure",
61
+ "members": {
62
+ "Name": {
63
+ "type": "string",
64
+ "required": true,
65
+ "location": "uri",
66
+ "locationName": "name",
67
+ "documentation": "Name of new project"
68
+ }
69
+ }
70
+ },
71
+ "output": {
72
+ "type": "structure",
73
+ "members": {
74
+ "Project": {
75
+ "shape": "Project"
76
+ }
77
+ }
78
+ },
79
+ "transform": {
80
+ "output": {
81
+ "method": "TransformProjectCreate"
82
+ }
83
+ },
84
+ "documentation": "Create a project"
85
+ },
86
+ "ListAssets": {
87
+ "http": {
88
+ "method": "GET",
89
+ "path": "/v1/list/data/{prjuid}"
90
+ },
91
+ "input": {
92
+ "type": "structure",
93
+ "members": {
94
+ "ProjectId": {
95
+ "type": "string",
96
+ "required": true,
97
+ "location": "uri",
98
+ "locationName": "prjuid",
99
+ "documentation": "Project UID"
100
+ }
101
+ }
102
+ },
103
+ "output": {
104
+ "type": "structure",
105
+ "members": {
106
+ "All": {
107
+ "type": "map",
108
+ "key": "name",
109
+ "shape": "Asset"
110
+ },
111
+ "Videos": {
112
+ "type": "list",
113
+ "shape": "Video"
114
+ },
115
+ "Images": {
116
+ "type": "list",
117
+ "shape": "Image"
118
+ },
119
+ "Sounds": {
120
+ "type": "list",
121
+ "shape": "Sound"
122
+ },
123
+ "Fonts": {
124
+ "type": "list",
125
+ "shape": "Font"
126
+ },
127
+ "Datasources": {
128
+ "type": "list",
129
+ "shape": "Datasource"
130
+ },
131
+ "Aux": {
132
+ "type": "list",
133
+ "shape": "AuxData"
134
+ },
135
+ "Trackdata": {
136
+ "type": "list",
137
+ "shape": "Trackdata"
138
+ }
139
+ }
140
+ },
141
+ "transform": {
142
+ "output": {
143
+ "method": "TransformAssetList"
144
+ }
145
+ },
146
+ "documentation": "List assets in a project"
147
+ },
148
+ "GetAsset": {
149
+ "http": {
150
+ "method": "GET",
151
+ "path": "/v1/data/{prjuid}/{name}"
152
+ },
153
+ "input": {
154
+ "type": "structure",
155
+ "members": {
156
+ "ProjectId": {
157
+ "type": "string",
158
+ "location": "uri",
159
+ "locationName": "prjuid",
160
+ "documentation": "Project UID"
161
+ },
162
+ "Name": {
163
+ "type": "string",
164
+ "location": "uri",
165
+ "locationName": "name",
166
+ "documentation": "Asset Identifier"
167
+ }
168
+ }
169
+ },
170
+ "output": {
171
+ "type": "structure",
172
+ "members": {
173
+ "Data": {
174
+ "type": "blob",
175
+ "stream": true,
176
+ "documentation": "Asset data."
177
+ }
178
+ },
179
+ "payload": "Data"
180
+ },
181
+ "transform": {
182
+ "output": {
183
+ "method": "TransformAssetGet"
184
+ }
185
+ },
186
+ "documentation": "Download asset"
187
+ },
188
+ "UploadAsset": {
189
+ "http": {
190
+ "method": "POST",
191
+ "path": "/v1/data/{prjuid}/{name}"
192
+ },
193
+ "input": {
194
+ "type": "structure",
195
+ "members": {
196
+ "ProjectId": {
197
+ "type": "string",
198
+ "required": true,
199
+ "location": "uri",
200
+ "locationName": "prjuid",
201
+ "documentation": "Project UID"
202
+ },
203
+ "Name": {
204
+ "type": "string",
205
+ "required": true,
206
+ "location": "uri",
207
+ "locationName": "name",
208
+ "documentation": "Asset Identifier"
209
+ },
210
+ "Data": {
211
+ "type": "blob",
212
+ "required": true,
213
+ "location": "body",
214
+ "stream": true,
215
+ "documentation": "Asset data."
216
+ }
217
+ },
218
+ "payload": "Data"
219
+ },
220
+ "output": {
221
+ "type": "structure",
222
+ "members": {}
223
+ },
224
+ "documentation": "Add a new asset to the project"
225
+ },
226
+ "UpdateAsset": {
227
+ "http": {
228
+ "method": "PUT",
229
+ "path": "/v1/data/{prjuid}/{name}"
230
+ },
231
+ "input": {
232
+ "type": "structure",
233
+ "members": {
234
+ "ProjectId": {
235
+ "type": "string",
236
+ "required": true,
237
+ "location": "uri",
238
+ "locationName": "prjuid",
239
+ "documentation": "Project UID"
240
+ },
241
+ "Name": {
242
+ "type": "string",
243
+ "required": true,
244
+ "location": "uri",
245
+ "locationName": "name",
246
+ "documentation": "Asset Identifier"
247
+ },
248
+ "Data": {
249
+ "type": "blob",
250
+ "required": true,
251
+ "location": "body",
252
+ "stream": true,
253
+ "documentation": "Asset data."
254
+ }
255
+ },
256
+ "payload": "Data"
257
+ },
258
+ "output": {
259
+ "type": "structure",
260
+ "members": {}
261
+ },
262
+ "documentation": "Update an existing asset"
263
+ },
264
+ "DeleteAsset": {
265
+ "http": {
266
+ "method": "DELETE",
267
+ "path": "/v1/data/{prjuid}/{name}"
268
+ },
269
+ "input": {
270
+ "type": "structure",
271
+ "members": {
272
+ "ProjectId": {
273
+ "type": "string",
274
+ "required": true,
275
+ "location": "uri",
276
+ "locationName": "prjuid",
277
+ "documentation": "Project UID"
278
+ },
279
+ "Name": {
280
+ "type": "string",
281
+ "required": true,
282
+ "location": "uri",
283
+ "locationName": "name",
284
+ "documentation": "Asset Identifier"
285
+ }
286
+ }
287
+ },
288
+ "output": {
289
+ "type": "structure",
290
+ "members": {}
291
+ },
292
+ "documentation": "Delete an asset"
293
+ },
294
+ "ListMovies": {
295
+ "http": {
296
+ "method": "GET",
297
+ "path": "/v1/list/sdl/{prjuid}"
298
+ },
299
+ "input": {
300
+ "type": "structure",
301
+ "members": {
302
+ "ProjectId": {
303
+ "type": "string",
304
+ "required": true,
305
+ "location": "uri",
306
+ "locationName": "prjuid",
307
+ "documentation": "Project UID"
308
+ }
309
+ }
310
+ },
311
+ "output": {
312
+ "type": "structure",
313
+ "members": {
314
+ "Movies": {
315
+ "type": "list",
316
+ "shape": "Movie"
317
+ }
318
+ }
319
+ },
320
+ "transform": {
321
+ "output": {
322
+ "method": "TransformMovieList"
323
+ }
324
+ },
325
+ "documentation": "List all Dynamic Movies"
326
+ },
327
+ "CreateMovie": {
328
+ "http": {
329
+ "method": "PUT",
330
+ "path": "/v1/sdl/{prjuid}/{name}"
331
+ },
332
+ "input": {
333
+ "type": "structure",
334
+ "members": {
335
+ "ProjectId": {
336
+ "type": "string",
337
+ "required": true,
338
+ "location": "uri",
339
+ "locationName": "prjuid",
340
+ "documentation": "Project UID"
341
+ },
342
+ "Name": {
343
+ "type": "string",
344
+ "required": true,
345
+ "location": "uri",
346
+ "locationName": "name",
347
+ "documentation": "Movie Identifier"
348
+ },
349
+ "Movie": {
350
+ "type": "Movie",
351
+ "required": true,
352
+ "location": "body",
353
+ "encoding": "protobuf",
354
+ "documentation": "Movie template"
355
+ }
356
+ },
357
+ "payload": "Movie"
358
+ },
359
+ "output": {
360
+ "type": "structure",
361
+ "members": {
362
+ "Status": {
363
+ "type": "int",
364
+ "documentation": "Status code"
365
+ },
366
+ "Message": {
367
+ "type": "string",
368
+ "documentation": "Additional information"
369
+ }
370
+ }
371
+ },
372
+ "documentation": "Create or update a dynamic movie"
373
+ },
374
+ "GetMovie": {
375
+ "http": {
376
+ "method": "GET",
377
+ "path": "/v1/sdl/{prjuid}/{name}"
378
+ },
379
+ "input": {
380
+ "type": "structure",
381
+ "members": {
382
+ "ProjectId": {
383
+ "type": "string",
384
+ "location": "uri",
385
+ "locationName": "prjuid",
386
+ "documentation": "Project UID"
387
+ },
388
+ "Name": {
389
+ "type": "string",
390
+ "location": "uri",
391
+ "locationName": "name",
392
+ "documentation": "Movie Identifier"
393
+ }
394
+ }
395
+ },
396
+ "output": {
397
+ "protocol": "binary",
398
+ "type": "structure",
399
+ "members": {
400
+ "Movie": {
401
+ "type": "Movie",
402
+ "documentation": "Movie"
403
+ }
404
+ }
405
+ },
406
+ "transform": {
407
+ "output": {
408
+ "method": "TransformMovieGet"
409
+ }
410
+ },
411
+ "documentation": "Get Movie (Protobuf)"
412
+ },
413
+ "DeleteMovie": {
414
+ "http": {
415
+ "method": "DELETE",
416
+ "path": "/v1/sdl/{prjuid}/{name}"
417
+ },
418
+ "input": {
419
+ "type": "structure",
420
+ "members": {
421
+ "ProjectId": {
422
+ "type": "string",
423
+ "location": "uri",
424
+ "locationName": "prjuid",
425
+ "documentation": "Project UID"
426
+ },
427
+ "Name": {
428
+ "type": "string",
429
+ "location": "uri",
430
+ "locationName": "name",
431
+ "documentation": "Movie Identifier"
432
+ }
433
+ }
434
+ },
435
+ "output": {
436
+ "type": "structure",
437
+ "members": {}
438
+ },
439
+ "documentation": "Delete Movie"
440
+ },
441
+
442
+ "UploadAppData": {
443
+ "http": {
444
+ "method": "POST",
445
+ "path": "/v1/appdata/{prjuid}/{name}"
446
+ },
447
+ "input": {
448
+ "type": "structure",
449
+ "members": {
450
+ "ProjectId": {
451
+ "type": "string",
452
+ "required": true,
453
+ "location": "uri",
454
+ "locationName": "prjuid",
455
+ "documentation": "Project UID"
456
+ },
457
+ "Name": {
458
+ "type": "string",
459
+ "required": true,
460
+ "location": "uri",
461
+ "locationName": "name",
462
+ "documentation": "Asset Identifier"
463
+ },
464
+ "Data": {
465
+ "type": "blob",
466
+ "required": true,
467
+ "location": "body",
468
+ "stream": true,
469
+ "documentation": "Asset data."
470
+ }
471
+ },
472
+ "payload": "Data"
473
+ },
474
+ "output": {
475
+ "type": "structure",
476
+ "members": {}
477
+ },
478
+ "documentation": "Add a new app data to the project"
479
+ },
480
+ "GetAppData": {
481
+ "http": {
482
+ "method": "GET",
483
+ "path": "/v1/appdata/{prjuid}/{name}"
484
+ },
485
+ "input": {
486
+ "type": "structure",
487
+ "members": {
488
+ "ProjectId": {
489
+ "type": "string",
490
+ "location": "uri",
491
+ "locationName": "prjuid",
492
+ "documentation": "Project UID"
493
+ },
494
+ "Name": {
495
+ "type": "string",
496
+ "location": "uri",
497
+ "locationName": "name",
498
+ "documentation": "Data Identifier"
499
+ }
500
+ }
501
+ },
502
+ "output": {
503
+ "type": "structure",
504
+ "members": {
505
+ "Data": {
506
+ "type": "blob",
507
+ "stream": true,
508
+ "documentation": "Asset data."
509
+ }
510
+ },
511
+ "payload": "Data"
512
+ },
513
+
514
+ "transform": {
515
+ "output": {
516
+ "method": "TransformAssetGet"
517
+ }
518
+ },
519
+
520
+ "documentation": "Download App Data object"
521
+ }
522
+ },
523
+ "shapes": {
524
+ "Asset": {
525
+ "type": "structure",
526
+ "members": {
527
+ "ProjectId": {
528
+ "type": "string",
529
+ "documentation": "The project ID this asset belongs to."
530
+ },
531
+ "Region": {
532
+ "type": "string",
533
+ "documentation": "The id of the region for this object"
534
+ },
535
+ "Name": {
536
+ "type": "string",
537
+ "documentation": "The name (or filename) of the asset"
538
+ },
539
+ "Kind": {
540
+ "type": "string",
541
+ "documentation": "Type of asset ('video', 'image', ...)"
542
+ },
543
+ "Created": {
544
+ "type": "datetime",
545
+ "documentation": ""
546
+ }
547
+ }
548
+ },
549
+ "Image": {
550
+ "type": "structure",
551
+ "members": {
552
+ "ProjectId": {
553
+ "type": "string",
554
+ "documentation": "The project ID this image belongs to."
555
+ },
556
+ "Region": {
557
+ "type": "string",
558
+ "documentation": "The id of the region for this object"
559
+ },
560
+ "Name": {
561
+ "type": "string",
562
+ "documentation": "The name (or filename) of the asset"
563
+ },
564
+ "Created": {
565
+ "type": "datetime",
566
+ "documentation": ""
567
+ }
568
+ }
569
+ },
570
+ "Trackdata": {
571
+ "type": "structure",
572
+ "members": {
573
+ "ProjectId": {
574
+ "type": "string",
575
+ "documentation": "The project ID this trackdata object belongs to."
576
+ },
577
+ "Region": {
578
+ "type": "string",
579
+ "documentation": "The id of the region for this object"
580
+ },
581
+ "Name": {
582
+ "type": "string",
583
+ "documentation": "The name (or filename) of the asset"
584
+ },
585
+ "Created": {
586
+ "type": "datetime",
587
+ "documentation": ""
588
+ }
589
+ }
590
+ },
591
+ "AuxData": {
592
+ "type": "structure",
593
+ "members": {
594
+ "ProjectId": {
595
+ "type": "string",
596
+ "documentation": "The project ID this data asset belongs to."
597
+ },
598
+ "Region": {
599
+ "type": "string",
600
+ "documentation": "The id of the region for this object"
601
+ },
602
+ "Name": {
603
+ "type": "string",
604
+ "documentation": "The name (or filename) of the asset"
605
+ },
606
+ "Created": {
607
+ "type": "datetime",
608
+ "documentation": ""
609
+ }
610
+ }
611
+ },
612
+ "Font": {
613
+ "type": "structure",
614
+ "members": {
615
+ "ProjectId": {
616
+ "type": "string",
617
+ "documentation": "The project ID this font asset belongs to."
618
+ },
619
+ "Region": {
620
+ "type": "string",
621
+ "documentation": "The id of the region for this object"
622
+ },
623
+ "Name": {
624
+ "type": "string",
625
+ "documentation": "The name (or filename) of the asset"
626
+ },
627
+ "Created": {
628
+ "type": "datetime",
629
+ "documentation": ""
630
+ }
631
+ }
632
+ },
633
+ "Sound": {
634
+ "type": "structure",
635
+ "members": {
636
+ "ProjectId": {
637
+ "type": "string",
638
+ "documentation": "The project ID this sound asset belongs to."
639
+ },
640
+ "Region": {
641
+ "type": "string",
642
+ "documentation": "The id of the region for this object"
643
+ },
644
+ "Name": {
645
+ "type": "string",
646
+ "documentation": "The name (or filename) of the asset"
647
+ },
648
+ "Created": {
649
+ "type": "datetime",
650
+ "documentation": ""
651
+ }
652
+ }
653
+ },
654
+ "Video": {
655
+ "type": "structure",
656
+ "members": {
657
+ "ProjectId": {
658
+ "type": "string",
659
+ "documentation": "The project ID this video asset belongs to."
660
+ },
661
+ "Region": {
662
+ "type": "string",
663
+ "documentation": "The id of the region for this object"
664
+ },
665
+ "Name": {
666
+ "type": "string",
667
+ "documentation": "The name (or filename) of the asset"
668
+ },
669
+ "Created": {
670
+ "type": "datetime",
671
+ "documentation": ""
672
+ }
673
+ }
674
+ },
675
+ "Datasource": {
676
+ "type": "structure",
677
+ "members": {
678
+ "ProjectId": {
679
+ "type": "string",
680
+ "documentation": "The project ID this datasource belongs to."
681
+ },
682
+ "Region": {
683
+ "type": "string",
684
+ "documentation": "The id of the region for this object"
685
+ },
686
+ "Name": {
687
+ "type": "string",
688
+ "documentation": "The name (or filename) of the asset"
689
+ },
690
+ "Created": {
691
+ "type": "datetime",
692
+ "documentation": ""
693
+ }
694
+ }
695
+ },
696
+ "Project": {
697
+ "type": "structure",
698
+ "members": {
699
+ "ProjectId": {
700
+ "type": "string",
701
+ "documentation": "Project ID"
702
+ },
703
+ "Region": {
704
+ "type": "string",
705
+ "documentation": "The id of the region for this object"
706
+ },
707
+ "Name": {
708
+ "type": "string",
709
+ "documentation": "Name of the project"
710
+ },
711
+ "Created": {
712
+ "type": "datetime",
713
+ "documentation": ""
714
+ }
715
+ }
716
+ },
717
+ "Movie": {
718
+ "type": "structure",
719
+ "members": {
720
+ "ProjectId": {
721
+ "type": "string",
722
+ "documentation": "Project ID"
723
+ },
724
+ "Region": {
725
+ "type": "string",
726
+ "documentation": "The id of the region for this object"
727
+ },
728
+ "Name": {
729
+ "type": "string",
730
+ "documentation": "Name of the Movie"
731
+ },
732
+ "Created": {
733
+ "type": "datetime",
734
+ "documentation": "Date created"
735
+ },
736
+ "Modified": {
737
+ "type": "datetime",
738
+ "documentation": "Date created"
739
+ },
740
+ "Width": {
741
+ "type": "number",
742
+ "documentation": "Width"
743
+ },
744
+ "Height": {
745
+ "type": "number",
746
+ "documentation": "Height"
747
+ },
748
+ "Length": {
749
+ "type": "number",
750
+ "documentation": "Length of movie in seconds"
751
+ },
752
+ "VariableLength": {
753
+ "type": "boolean",
754
+ "documentation": "Movie has variable length"
755
+ },
756
+ "Codec": {
757
+ "type": "string",
758
+ "documentation": "Codec information"
759
+ }
760
+ }
761
+ },
762
+ "StatusMessage": {
763
+ "type": "structure",
764
+ "members": {}
765
+ }
766
+ }
767
+ }