@ue-shed/protocol 0.1.0-rc.1

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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/contracts/asset-audits/v1/texture-preview.schema.json +74 -0
  4. package/contracts/authoring/README.md +25 -0
  5. package/contracts/authoring/v1/apply-request.schema.json +568 -0
  6. package/contracts/authoring/v1/apply-result.schema.json +1165 -0
  7. package/contracts/authoring/v1/save-request.schema.json +53 -0
  8. package/contracts/authoring/v1/save-result.schema.json +77 -0
  9. package/contracts/authoring/v1/table-list.schema.json +48 -0
  10. package/contracts/authoring/v1/table-snapshot.schema.json +497 -0
  11. package/contracts/authoring/v2/table-snapshot.schema.json +950 -0
  12. package/contracts/cameras/review/v1/README.md +39 -0
  13. package/contracts/cameras/review/v1/capture-request.schema.json +92 -0
  14. package/contracts/cameras/review/v1/capture-response.schema.json +158 -0
  15. package/contracts/cameras/review/v1/fixtures/capture-failure.json +13 -0
  16. package/contracts/cameras/review/v1/fixtures/capture-legacy.json +17 -0
  17. package/contracts/cameras/review/v1/fixtures/capture-projected.json +33 -0
  18. package/contracts/cameras/review/v1/fixtures/capture-request-valid.json +21 -0
  19. package/contracts/cameras/review/v1/fixtures/capture-unprojectable.json +22 -0
  20. package/contracts/cameras/review/v1/fixtures/invalid-capture-request-bad-fov.json +21 -0
  21. package/contracts/cameras/review/v1/fixtures/invalid-capture-response-projected-without-margins.json +27 -0
  22. package/contracts/cameras/review/v1/fixtures/invalid-selection-unknown-code.json +11 -0
  23. package/contracts/cameras/review/v1/fixtures/selection-selected.json +15 -0
  24. package/contracts/cameras/review/v1/fixtures/selection-subject-not-found.json +11 -0
  25. package/contracts/cameras/review/v1/selection-response.schema.json +103 -0
  26. package/contracts/cameras/v1/README.md +33 -0
  27. package/contracts/editor-session/v1/README.md +11 -0
  28. package/contracts/editor-session/v1/command-response.schema.json +44 -0
  29. package/contracts/editor-session/v1/fixtures/command-accepted.json +6 -0
  30. package/contracts/editor-session/v1/fixtures/command-already-satisfied.json +6 -0
  31. package/contracts/editor-session/v1/fixtures/command-rejected.json +9 -0
  32. package/contracts/editor-session/v1/fixtures/state-paused.json +4 -0
  33. package/contracts/editor-session/v1/fixtures/state-running.json +4 -0
  34. package/contracts/editor-session/v1/fixtures/state-starting.json +4 -0
  35. package/contracts/editor-session/v1/fixtures/state-stopped.json +4 -0
  36. package/contracts/editor-session/v1/fixtures/state-stopping.json +4 -0
  37. package/contracts/editor-session/v1/state-response.schema.json +64 -0
  38. package/contracts/observatory/v1/README.md +78 -0
  39. package/contracts/observatory/v1/fixtures/bad-magic-then-valid.bin +0 -0
  40. package/contracts/observatory/v1/fixtures/fragmented-concat.bin +0 -0
  41. package/contracts/observatory/v1/fixtures/heartbeat.bin +0 -0
  42. package/contracts/observatory/v1/fixtures/mismatched-payload-length.bin +0 -0
  43. package/contracts/observatory/v1/fixtures/oversized-record-count.bin +0 -0
  44. package/contracts/observatory/v1/fixtures/reset.bin +0 -0
  45. package/contracts/observatory/v1/fixtures/truncated.bin +0 -0
  46. package/contracts/observatory/v1/fixtures/two-records.bin +0 -0
  47. package/contracts/observatory/v1/fixtures/unsupported-version.bin +0 -0
  48. package/dist/authoring-review.d.ts +679 -0
  49. package/dist/authoring-review.d.ts.map +1 -0
  50. package/dist/authoring-review.js +90 -0
  51. package/dist/authoring-review.js.map +1 -0
  52. package/dist/authoring.d.ts +889 -0
  53. package/dist/authoring.d.ts.map +1 -0
  54. package/dist/authoring.js +350 -0
  55. package/dist/authoring.js.map +1 -0
  56. package/dist/cameras.d.ts +184 -0
  57. package/dist/cameras.d.ts.map +1 -0
  58. package/dist/cameras.js +72 -0
  59. package/dist/cameras.js.map +1 -0
  60. package/dist/companion.d.ts +33 -0
  61. package/dist/companion.d.ts.map +1 -0
  62. package/dist/companion.js +18 -0
  63. package/dist/companion.js.map +1 -0
  64. package/dist/editor-play-session.d.ts +278 -0
  65. package/dist/editor-play-session.d.ts.map +1 -0
  66. package/dist/editor-play-session.js +56 -0
  67. package/dist/editor-play-session.js.map +1 -0
  68. package/dist/index.d.ts +146 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +106 -0
  71. package/dist/index.js.map +1 -0
  72. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-review.d.ts","sourceRoot":"","sources":["../src/authoring-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAIN,cAAc,EACd,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;IAWkB,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE3F,eAAO,MAAM,yBAAyB;;;;;;;;;EASkB,CAAC;AACzD,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACpE,OAAO,yBAAyB,CAChC;CAAG;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBkB,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASkB,CAAC;AACpD,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAEhG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAakB,CAAC;AAC3D,MAAM,WAAW,2BAA4B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACtE,OAAO,2BAA2B,CAClC;CAAG;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;EAKkB,CAAC;AAC1D,MAAM,WAAW,0BAA2B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACrE,OAAO,0BAA0B,CACjC;CAAG;AAEJ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAakB,CAAC;AACtD,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC;CAAG"}
@@ -0,0 +1,90 @@
1
+ import { Schema } from "effect";
2
+ import { AuthoringCommand, AuthoringRow, AuthoringTableSnapshot, AuthoringValue } from "./authoring.js";
3
+ export const AuthoringSessionPipeline = Schema.Union([
4
+ Schema.Struct({ canApply: Schema.Boolean, kind: Schema.Literal("draft") }),
5
+ Schema.Struct({ kind: Schema.Literal("applying"), operationId: Schema.String }),
6
+ Schema.Struct({
7
+ id: Schema.String,
8
+ kind: Schema.Literal("indeterminate"),
9
+ operation: Schema.Literals(["apply", "save"])
10
+ }),
11
+ Schema.Struct({ kind: Schema.Literal("applied"), objectPaths: Schema.Array(Schema.String) }),
12
+ Schema.Struct({ kind: Schema.Literal("saving"), requestId: Schema.String }),
13
+ Schema.Struct({ kind: Schema.Literal("saved") })
14
+ ]).annotate({ identifier: "AuthoringSessionPipeline" });
15
+ export const AuthoringReviewDiagnostic = Schema.Struct({
16
+ code: Schema.String,
17
+ fieldName: Schema.optionalKey(Schema.String),
18
+ message: Schema.String,
19
+ path: Schema.optionalKey(Schema.String),
20
+ recovery: Schema.String,
21
+ rowId: Schema.optionalKey(Schema.String),
22
+ severity: Schema.Literals(["error", "warning"]),
23
+ tableObjectPath: Schema.String
24
+ }).annotate({ identifier: "AuthoringReviewDiagnostic" });
25
+ export const AuthoringTableChange = Schema.Union([
26
+ Schema.Struct({ kind: Schema.Literal("row_added"), row: AuthoringRow }),
27
+ Schema.Struct({ kind: Schema.Literal("row_removed"), row: AuthoringRow }),
28
+ Schema.Struct({
29
+ kind: Schema.Literal("row_renamed"),
30
+ newName: Schema.String,
31
+ oldName: Schema.String,
32
+ rowId: Schema.String
33
+ }),
34
+ Schema.Struct({
35
+ fieldName: Schema.String,
36
+ kind: Schema.Literal("cell_changed"),
37
+ newValue: AuthoringValue,
38
+ oldValue: AuthoringValue,
39
+ rowId: Schema.String,
40
+ rowName: Schema.String
41
+ }),
42
+ Schema.Struct({
43
+ kind: Schema.Literal("rows_reordered"),
44
+ newOrder: Schema.Array(Schema.String),
45
+ oldOrder: Schema.Array(Schema.String)
46
+ })
47
+ ]).annotate({ identifier: "AuthoringTableChange" });
48
+ export const AuthoringTableReview = Schema.Struct({
49
+ base: AuthoringTableSnapshot,
50
+ changes: Schema.Array(AuthoringTableChange),
51
+ diagnostics: Schema.Array(AuthoringReviewDiagnostic),
52
+ dirtyCells: Schema.Array(Schema.Struct({ fieldName: Schema.String, rowId: Schema.String })),
53
+ dirtyRowIds: Schema.Array(Schema.String),
54
+ objectPath: Schema.String,
55
+ valid: Schema.Boolean,
56
+ working: AuthoringTableSnapshot
57
+ }).annotate({ identifier: "AuthoringTableReview" });
58
+ export const AuthoringCommandGroupReview = Schema.Struct({
59
+ active: Schema.Boolean,
60
+ author: Schema.optionalKey(Schema.String),
61
+ authoredAt: Schema.String,
62
+ commands: Schema.Array(Schema.Struct({
63
+ body: AuthoringCommand,
64
+ id: Schema.String,
65
+ tableObjectPath: Schema.String
66
+ })),
67
+ groupId: Schema.String,
68
+ tableObjectPaths: Schema.Array(Schema.String)
69
+ }).annotate({ identifier: "AuthoringCommandGroupReview" });
70
+ export const AuthoringSessionValidation = Schema.Struct({
71
+ diagnostics: Schema.Array(AuthoringReviewDiagnostic),
72
+ errorCount: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
73
+ valid: Schema.Boolean,
74
+ warningCount: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))
75
+ }).annotate({ identifier: "AuthoringSessionValidation" });
76
+ export const AuthoringSessionReview = Schema.Struct({
77
+ activeCommandCount: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
78
+ canRedo: Schema.Boolean,
79
+ canUndo: Schema.Boolean,
80
+ commandGroups: Schema.Array(AuthoringCommandGroupReview),
81
+ createdAt: Schema.String,
82
+ lifecycle: Schema.Literals(["open", "closed"]),
83
+ pipeline: AuthoringSessionPipeline,
84
+ project: Schema.Struct({ id: Schema.String, root: Schema.String }),
85
+ sessionId: Schema.String,
86
+ tables: Schema.Array(AuthoringTableReview),
87
+ updatedAt: Schema.String,
88
+ validation: AuthoringSessionValidation
89
+ }).annotate({ identifier: "AuthoringSessionReview" });
90
+ //# sourceMappingURL=authoring-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-review.js","sourceRoot":"","sources":["../src/authoring-review.ts"],"names":[],"mappings":"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"}