space-data-module-sdk 0.2.0 → 0.2.6

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 (110) hide show
  1. package/README.md +77 -2
  2. package/package.json +13 -4
  3. package/schemas/PluginInvokeRequest.fbs +18 -0
  4. package/schemas/PluginInvokeResponse.fbs +30 -0
  5. package/schemas/PluginManifest.fbs +7 -0
  6. package/schemas/TypedArenaBuffer.fbs +23 -2
  7. package/src/bundle/codec.js +24 -0
  8. package/src/compiler/compileModule.js +182 -143
  9. package/src/compiler/emception.d.ts +60 -0
  10. package/src/compiler/emception.js +191 -0
  11. package/src/compiler/emceptionNode.js +234 -0
  12. package/src/compiler/flatcSupport.js +66 -0
  13. package/src/compiler/index.d.ts +24 -0
  14. package/src/compiler/index.js +5 -0
  15. package/src/compiler/invokeGlue.js +884 -0
  16. package/src/compliance/pluginCompliance.js +241 -1
  17. package/src/generated/orbpro/invoke/plugin-invoke-request.d.ts +51 -0
  18. package/src/generated/orbpro/invoke/plugin-invoke-request.d.ts.map +1 -0
  19. package/src/generated/orbpro/invoke/plugin-invoke-request.js +131 -0
  20. package/src/generated/orbpro/invoke/plugin-invoke-request.js.map +1 -0
  21. package/src/generated/orbpro/invoke/plugin-invoke-request.ts +173 -0
  22. package/src/generated/orbpro/invoke/plugin-invoke-response.d.ts +76 -0
  23. package/src/generated/orbpro/invoke/plugin-invoke-response.d.ts.map +1 -0
  24. package/src/generated/orbpro/invoke/plugin-invoke-response.js +184 -0
  25. package/src/generated/orbpro/invoke/plugin-invoke-response.js.map +1 -0
  26. package/src/generated/orbpro/invoke/plugin-invoke-response.ts +243 -0
  27. package/src/generated/orbpro/invoke.d.ts +3 -0
  28. package/src/generated/orbpro/invoke.d.ts.map +1 -0
  29. package/src/generated/orbpro/invoke.js +5 -0
  30. package/src/generated/orbpro/invoke.js.map +1 -0
  31. package/src/generated/orbpro/invoke.ts +6 -0
  32. package/src/generated/orbpro/manifest/accepted-type-set.d.ts +4 -4
  33. package/src/generated/orbpro/manifest/accepted-type-set.d.ts.map +1 -1
  34. package/src/generated/orbpro/manifest/accepted-type-set.js +18 -11
  35. package/src/generated/orbpro/manifest/accepted-type-set.js.map +1 -1
  36. package/src/generated/orbpro/manifest/build-artifact.d.ts +1 -1
  37. package/src/generated/orbpro/manifest/build-artifact.d.ts.map +1 -1
  38. package/src/generated/orbpro/manifest/build-artifact.js +28 -15
  39. package/src/generated/orbpro/manifest/build-artifact.js.map +1 -1
  40. package/src/generated/orbpro/manifest/capability-kind.d.ts +1 -1
  41. package/src/generated/orbpro/manifest/capability-kind.d.ts.map +1 -1
  42. package/src/generated/orbpro/manifest/capability-kind.js +1 -1
  43. package/src/generated/orbpro/manifest/capability-kind.js.map +1 -1
  44. package/src/generated/orbpro/manifest/drain-policy.d.ts.map +1 -1
  45. package/src/generated/orbpro/manifest/drain-policy.js.map +1 -1
  46. package/src/generated/orbpro/manifest/host-capability.d.ts +2 -2
  47. package/src/generated/orbpro/manifest/host-capability.d.ts.map +1 -1
  48. package/src/generated/orbpro/manifest/host-capability.js +19 -11
  49. package/src/generated/orbpro/manifest/host-capability.js.map +1 -1
  50. package/src/generated/orbpro/manifest/invoke-surface.d.ts +8 -0
  51. package/src/generated/orbpro/manifest/invoke-surface.d.ts.map +1 -0
  52. package/src/generated/orbpro/manifest/invoke-surface.js +11 -0
  53. package/src/generated/orbpro/manifest/invoke-surface.js.map +1 -0
  54. package/src/generated/orbpro/manifest/invoke-surface.ts +11 -0
  55. package/src/generated/orbpro/manifest/method-manifest.d.ts +6 -6
  56. package/src/generated/orbpro/manifest/method-manifest.d.ts.map +1 -1
  57. package/src/generated/orbpro/manifest/method-manifest.js +33 -16
  58. package/src/generated/orbpro/manifest/method-manifest.js.map +1 -1
  59. package/src/generated/orbpro/manifest/plugin-family.d.ts.map +1 -1
  60. package/src/generated/orbpro/manifest/plugin-family.js.map +1 -1
  61. package/src/generated/orbpro/manifest/plugin-manifest.d.ts +10 -2
  62. package/src/generated/orbpro/manifest/plugin-manifest.d.ts.map +1 -1
  63. package/src/generated/orbpro/manifest/plugin-manifest.js +48 -9
  64. package/src/generated/orbpro/manifest/plugin-manifest.js.map +1 -1
  65. package/src/generated/orbpro/manifest/plugin-manifest.ts +322 -491
  66. package/src/generated/orbpro/manifest/port-manifest.d.ts +4 -4
  67. package/src/generated/orbpro/manifest/port-manifest.d.ts.map +1 -1
  68. package/src/generated/orbpro/manifest/port-manifest.js +26 -13
  69. package/src/generated/orbpro/manifest/port-manifest.js.map +1 -1
  70. package/src/generated/orbpro/manifest/protocol-spec.d.ts +1 -1
  71. package/src/generated/orbpro/manifest/protocol-spec.d.ts.map +1 -1
  72. package/src/generated/orbpro/manifest/protocol-spec.js +28 -15
  73. package/src/generated/orbpro/manifest/protocol-spec.js.map +1 -1
  74. package/src/generated/orbpro/manifest/timer-spec.d.ts +1 -1
  75. package/src/generated/orbpro/manifest/timer-spec.d.ts.map +1 -1
  76. package/src/generated/orbpro/manifest/timer-spec.js +27 -16
  77. package/src/generated/orbpro/manifest/timer-spec.js.map +1 -1
  78. package/src/generated/orbpro/manifest.d.ts +13 -0
  79. package/src/generated/orbpro/manifest.d.ts.map +1 -0
  80. package/src/generated/orbpro/manifest.js +1 -0
  81. package/src/generated/orbpro/manifest.js.map +1 -0
  82. package/src/generated/orbpro/manifest.ts +16 -0
  83. package/src/generated/orbpro/stream/buffer-mutability.d.ts.map +1 -1
  84. package/src/generated/orbpro/stream/buffer-mutability.js.map +1 -1
  85. package/src/generated/orbpro/stream/buffer-ownership.d.ts.map +1 -1
  86. package/src/generated/orbpro/stream/buffer-ownership.js.map +1 -1
  87. package/src/generated/orbpro/stream/flat-buffer-type-ref.d.ts +22 -5
  88. package/src/generated/orbpro/stream/flat-buffer-type-ref.d.ts.map +1 -1
  89. package/src/generated/orbpro/stream/flat-buffer-type-ref.js +107 -17
  90. package/src/generated/orbpro/stream/flat-buffer-type-ref.js.map +1 -1
  91. package/src/generated/orbpro/stream/flat-buffer-type-ref.ts +126 -2
  92. package/src/generated/orbpro/stream/payload-wire-format.d.ts +8 -0
  93. package/src/generated/orbpro/stream/payload-wire-format.d.ts.map +1 -0
  94. package/src/generated/orbpro/stream/payload-wire-format.js +11 -0
  95. package/src/generated/orbpro/stream/payload-wire-format.js.map +1 -0
  96. package/src/generated/orbpro/stream/payload-wire-format.ts +11 -0
  97. package/src/generated/orbpro/stream/typed-arena-buffer.d.ts +4 -4
  98. package/src/generated/orbpro/stream/typed-arena-buffer.d.ts.map +1 -1
  99. package/src/generated/orbpro/stream/typed-arena-buffer.js +42 -24
  100. package/src/generated/orbpro/stream/typed-arena-buffer.js.map +1 -1
  101. package/src/index.d.ts +96 -5
  102. package/src/index.js +3 -0
  103. package/src/invoke/codec.js +278 -0
  104. package/src/invoke/index.js +9 -0
  105. package/src/manifest/codec.js +10 -2
  106. package/src/manifest/index.js +5 -2
  107. package/src/manifest/normalize.js +58 -0
  108. package/src/runtime/constants.js +12 -0
  109. package/src/runtime/index.d.ts +13 -0
  110. package/src/runtime/index.js +2 -0
@@ -1,17 +1,15 @@
1
1
  // automatically generated by the FlatBuffers compiler, do not modify
2
2
  /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
3
- import * as flatbuffers from 'flatbuffers';
4
- import { BufferMutability } from '../../orbpro/stream/buffer-mutability.js';
5
- import { BufferOwnership } from '../../orbpro/stream/buffer-ownership.js';
6
- import { FlatBufferTypeRef } from '../../orbpro/stream/flat-buffer-type-ref.js';
3
+ import * as flatbuffers from "flatbuffers";
4
+ import { BufferMutability } from "../../orbpro/stream/buffer-mutability.js";
5
+ import { BufferOwnership } from "../../orbpro/stream/buffer-ownership.js";
6
+ import { FlatBufferTypeRef, } from "../../orbpro/stream/flat-buffer-type-ref.js";
7
7
  /**
8
8
  * Runtime descriptor for one FlatBuffer frame stored in an arena.
9
9
  */
10
10
  export class TypedArenaBuffer {
11
- constructor() {
12
- this.bb = null;
13
- this.bb_pos = 0;
14
- }
11
+ bb = null;
12
+ bb_pos = 0;
15
13
  __init(i, bb) {
16
14
  this.bb_pos = i;
17
15
  this.bb = bb;
@@ -25,18 +23,22 @@ export class TypedArenaBuffer {
25
23
  return (obj || new TypedArenaBuffer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
26
24
  }
27
25
  static bufferHasIdentifier(bb) {
28
- return bb.__has_identifier('TABF');
26
+ return bb.__has_identifier("TABF");
29
27
  }
30
28
  /**
31
29
  * Runtime schema identity for this frame.
32
30
  */
33
31
  typeRef(obj) {
34
32
  const offset = this.bb.__offset(this.bb_pos, 4);
35
- return offset ? (obj || new FlatBufferTypeRef()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
33
+ return offset
34
+ ? (obj || new FlatBufferTypeRef()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb)
35
+ : null;
36
36
  }
37
37
  portId(optionalEncoding) {
38
38
  const offset = this.bb.__offset(this.bb_pos, 6);
39
- return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
39
+ return offset
40
+ ? this.bb.__string(this.bb_pos + offset, optionalEncoding)
41
+ : null;
40
42
  }
41
43
  /**
42
44
  * Required alignment of the underlying frame bytes.
@@ -64,7 +66,9 @@ export class TypedArenaBuffer {
64
66
  */
65
67
  ownership() {
66
68
  const offset = this.bb.__offset(this.bb_pos, 14);
67
- return offset ? this.bb.readUint8(this.bb_pos + offset) : BufferOwnership.BORROWED;
69
+ return offset
70
+ ? this.bb.readUint8(this.bb_pos + offset)
71
+ : BufferOwnership.BORROWED;
68
72
  }
69
73
  /**
70
74
  * Generation counter for stale-reference detection.
@@ -78,14 +82,16 @@ export class TypedArenaBuffer {
78
82
  */
79
83
  mutability() {
80
84
  const offset = this.bb.__offset(this.bb_pos, 18);
81
- return offset ? this.bb.readUint8(this.bb_pos + offset) : BufferMutability.IMMUTABLE;
85
+ return offset
86
+ ? this.bb.readUint8(this.bb_pos + offset)
87
+ : BufferMutability.IMMUTABLE;
82
88
  }
83
89
  /**
84
90
  * Flow/runtime trace identifier.
85
91
  */
86
92
  traceId() {
87
93
  const offset = this.bb.__offset(this.bb_pos, 20);
88
- return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
94
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt("0");
89
95
  }
90
96
  /**
91
97
  * Logical stream identifier.
@@ -99,7 +105,7 @@ export class TypedArenaBuffer {
99
105
  */
100
106
  sequence() {
101
107
  const offset = this.bb.__offset(this.bb_pos, 24);
102
- return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
108
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt("0");
103
109
  }
104
110
  /**
105
111
  * True if this frame closes the stream.
@@ -136,13 +142,13 @@ export class TypedArenaBuffer {
136
142
  builder.addFieldInt8(7, mutability, BufferMutability.IMMUTABLE);
137
143
  }
138
144
  static addTraceId(builder, traceId) {
139
- builder.addFieldInt64(8, traceId, BigInt('0'));
145
+ builder.addFieldInt64(8, traceId, BigInt("0"));
140
146
  }
141
147
  static addStreamId(builder, streamId) {
142
148
  builder.addFieldInt32(9, streamId, 0);
143
149
  }
144
150
  static addSequence(builder, sequence) {
145
- builder.addFieldInt64(10, sequence, BigInt('0'));
151
+ builder.addFieldInt64(10, sequence, BigInt("0"));
146
152
  }
147
153
  static addEndOfStream(builder, endOfStream) {
148
154
  builder.addFieldInt8(11, +endOfStream, +false);
@@ -152,10 +158,10 @@ export class TypedArenaBuffer {
152
158
  return offset;
153
159
  }
154
160
  static finishTypedArenaBufferBuffer(builder, offset) {
155
- builder.finish(offset, 'TABF');
161
+ builder.finish(offset, "TABF");
156
162
  }
157
163
  static finishSizePrefixedTypedArenaBufferBuffer(builder, offset) {
158
- builder.finish(offset, 'TABF', true);
164
+ builder.finish(offset, "TABF", true);
159
165
  }
160
166
  static createTypedArenaBuffer(builder, typeRefOffset, portIdOffset, alignment, offset, size, ownership, generation, mutability, traceId, streamId, sequence, endOfStream) {
161
167
  TypedArenaBuffer.startTypedArenaBuffer(builder);
@@ -174,10 +180,10 @@ export class TypedArenaBuffer {
174
180
  return TypedArenaBuffer.endTypedArenaBuffer(builder);
175
181
  }
176
182
  unpack() {
177
- return new TypedArenaBufferT((this.typeRef() !== null ? this.typeRef().unpack() : null), this.portId(), this.alignment(), this.offset(), this.size(), this.ownership(), this.generation(), this.mutability(), this.traceId(), this.streamId(), this.sequence(), this.endOfStream());
183
+ return new TypedArenaBufferT(this.typeRef() !== null ? this.typeRef().unpack() : null, this.portId(), this.alignment(), this.offset(), this.size(), this.ownership(), this.generation(), this.mutability(), this.traceId(), this.streamId(), this.sequence(), this.endOfStream());
178
184
  }
179
185
  unpackTo(_o) {
180
- _o.typeRef = (this.typeRef() !== null ? this.typeRef().unpack() : null);
186
+ _o.typeRef = this.typeRef() !== null ? this.typeRef().unpack() : null;
181
187
  _o.portId = this.portId();
182
188
  _o.alignment = this.alignment();
183
189
  _o.offset = this.offset();
@@ -192,7 +198,19 @@ export class TypedArenaBuffer {
192
198
  }
193
199
  }
194
200
  export class TypedArenaBufferT {
195
- constructor(typeRef = null, portId = null, alignment = 8, offset = 0, size = 0, ownership = BufferOwnership.BORROWED, generation = 0, mutability = BufferMutability.IMMUTABLE, traceId = BigInt('0'), streamId = 0, sequence = BigInt('0'), endOfStream = false) {
201
+ typeRef;
202
+ portId;
203
+ alignment;
204
+ offset;
205
+ size;
206
+ ownership;
207
+ generation;
208
+ mutability;
209
+ traceId;
210
+ streamId;
211
+ sequence;
212
+ endOfStream;
213
+ constructor(typeRef = null, portId = null, alignment = 8, offset = 0, size = 0, ownership = BufferOwnership.BORROWED, generation = 0, mutability = BufferMutability.IMMUTABLE, traceId = BigInt("0"), streamId = 0, sequence = BigInt("0"), endOfStream = false) {
196
214
  this.typeRef = typeRef;
197
215
  this.portId = portId;
198
216
  this.alignment = alignment;
@@ -207,8 +225,8 @@ export class TypedArenaBufferT {
207
225
  this.endOfStream = endOfStream;
208
226
  }
209
227
  pack(builder) {
210
- const typeRef = (this.typeRef !== null ? this.typeRef.pack(builder) : 0);
211
- const portId = (this.portId !== null ? builder.createString(this.portId) : 0);
228
+ const typeRef = this.typeRef !== null ? this.typeRef.pack(builder) : 0;
229
+ const portId = this.portId !== null ? builder.createString(this.portId) : 0;
212
230
  return TypedArenaBuffer.createTypedArenaBuffer(builder, typeRef, portId, this.alignment, this.offset, this.size, this.ownership, this.generation, this.mutability, this.traceId, this.streamId, this.sequence, this.endOfStream);
213
231
  }
214
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-arena-buffer.js","sourceRoot":"","sources":["../../../../../../../../Users/tj/software/OrbPro/packages/plugin-sdk/src/generated/orbpro/stream/typed-arena-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-arena-buffer.js","sourceRoot":"","sources":["typed-arena-buffer.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -1,15 +1,25 @@
1
1
  // --- Manifest ---
2
2
 
3
- export interface AllowedType {
3
+ export type PayloadWireFormat = "flatbuffer" | "aligned-binary";
4
+ export type InvokeSurface = "direct" | "command";
5
+
6
+ export interface PayloadTypeRef {
4
7
  schemaName?: string;
5
8
  fileIdentifier?: string;
6
- schemaHash?: string;
9
+ schemaHash?: string | number[] | Uint8Array;
7
10
  acceptsAnyFlatbuffer?: boolean;
11
+ wireFormat?: PayloadWireFormat;
12
+ rootTypeName?: string;
13
+ fixedStringLength?: number;
14
+ byteLength?: number;
15
+ requiredAlignment?: number;
8
16
  }
9
17
 
18
+ export type AllowedType = PayloadTypeRef;
19
+
10
20
  export interface AcceptedTypeSet {
11
21
  setId: string;
12
- allowedTypes: AllowedType[];
22
+ allowedTypes: PayloadTypeRef[];
13
23
  }
14
24
 
15
25
  export interface PortManifest {
@@ -42,10 +52,11 @@ export interface PluginManifest {
42
52
  version: string;
43
53
  pluginFamily: string;
44
54
  capabilities?: string[];
55
+ invokeSurfaces?: InvokeSurface[];
45
56
  runtimeTargets?: string[];
46
57
  externalInterfaces?: ExternalInterface[];
47
58
  methods: MethodManifest[];
48
- schemasUsed?: AllowedType[];
59
+ schemasUsed?: PayloadTypeRef[];
49
60
  }
50
61
 
51
62
  export function encodePluginManifest(manifest: PluginManifest): Uint8Array;
@@ -64,6 +75,61 @@ export function writeEmbeddedManifestArtifacts(options: {
64
75
  outputDir: string;
65
76
  }): Promise<{ sourcePath: string; headerPath: string }>;
66
77
 
78
+ // --- Invoke ---
79
+
80
+ export interface InvokeFrame {
81
+ portId?: string | null;
82
+ typeRef?: PayloadTypeRef | null;
83
+ alignment?: number;
84
+ offset?: number;
85
+ size?: number;
86
+ ownership?: number | string;
87
+ generation?: number;
88
+ mutability?: number | string;
89
+ traceId?: bigint | number | string;
90
+ streamId?: number;
91
+ sequence?: bigint | number | string;
92
+ endOfStream?: boolean;
93
+ payload?: Uint8Array | ArrayBuffer | ArrayBufferView | null;
94
+ }
95
+
96
+ export interface PluginInvokeRequestEnvelope {
97
+ methodId: string;
98
+ inputs?: InvokeFrame[];
99
+ inputFrames?: InvokeFrame[];
100
+ payloadArena?: Uint8Array;
101
+ }
102
+
103
+ export interface PluginInvokeResponseEnvelope {
104
+ statusCode?: number;
105
+ yielded?: boolean;
106
+ backlogRemaining?: number;
107
+ outputs?: InvokeFrame[];
108
+ outputFrames?: InvokeFrame[];
109
+ payloadArena?: Uint8Array;
110
+ errorCode?: string | null;
111
+ errorMessage?: string | null;
112
+ }
113
+
114
+ export function encodePluginInvokeRequest(
115
+ request: PluginInvokeRequestEnvelope,
116
+ ): Uint8Array;
117
+ export function decodePluginInvokeRequest(
118
+ data: Uint8Array | ArrayBuffer | ArrayBufferView,
119
+ ): PluginInvokeRequestEnvelope;
120
+ export function encodePluginInvokeResponse(
121
+ response: PluginInvokeResponseEnvelope,
122
+ ): Uint8Array;
123
+ export function decodePluginInvokeResponse(
124
+ data: Uint8Array | ArrayBuffer | ArrayBufferView,
125
+ ): PluginInvokeResponseEnvelope;
126
+ export function normalizeInvokeSurfaceName(
127
+ value: InvokeSurface | number | string | null | undefined,
128
+ ): InvokeSurface | null;
129
+ export function normalizeInvokeSurfaces(
130
+ value: Array<InvokeSurface | number | string> | null | undefined,
131
+ ): InvokeSurface[];
132
+
67
133
  // --- Compliance ---
68
134
 
69
135
  export interface ComplianceIssue {
@@ -342,6 +408,19 @@ export function createRecipientKeypairHex(): Promise<{
342
408
  privateKeyHex: string;
343
409
  }>;
344
410
 
411
+ export type {
412
+ EmceptionCommandResult,
413
+ SharedEmceptionFileContent,
414
+ SharedEmceptionHandle,
415
+ SharedEmceptionSession,
416
+ } from "./compiler/emception.js";
417
+
418
+ export {
419
+ createSharedEmceptionSession,
420
+ loadSharedEmception,
421
+ withSharedEmception,
422
+ } from "./compiler/emception.js";
423
+
345
424
  // --- Standards ---
346
425
 
347
426
  export interface StandardsEntry {
@@ -356,7 +435,7 @@ export interface StandardsEntry {
356
435
  export function loadStandardsCatalog(): Promise<StandardsEntry[]>;
357
436
  export function loadKnownTypeCatalog(): Promise<StandardsEntry[]>;
358
437
  export function resolveStandardsTypeRef(
359
- typeRef: AllowedType,
438
+ typeRef: PayloadTypeRef,
360
439
  catalog?: StandardsEntry[],
361
440
  ): StandardsEntry | null;
362
441
  export function validateManifestAgainstStandardsCatalog(
@@ -834,6 +913,13 @@ export const DefaultManifestExports: {
834
913
  flowSizeSymbol: string;
835
914
  };
836
915
 
916
+ export const DefaultInvokeExports: {
917
+ invokeSymbol: string;
918
+ allocSymbol: string;
919
+ freeSymbol: string;
920
+ commandSymbol: string;
921
+ };
922
+
837
923
  export const DrainPolicy: {
838
924
  SINGLE_SHOT: string;
839
925
  DRAIN_UNTIL_YIELD: string;
@@ -870,6 +956,11 @@ export const ExternalInterfaceKind: {
870
956
  HOST_SERVICE: string;
871
957
  };
872
958
 
959
+ export const InvokeSurface: {
960
+ DIRECT: string;
961
+ COMMAND: string;
962
+ };
963
+
873
964
  export const RuntimeTarget: {
874
965
  NODE: string;
875
966
  BROWSER: string;
package/src/index.js CHANGED
@@ -6,10 +6,13 @@ export * from "./compiler/index.js";
6
6
  export * from "./bundle/index.js";
7
7
  export * from "./standards/index.js";
8
8
  export * from "./host/index.js";
9
+ export * from "./invoke/index.js";
9
10
  export {
11
+ DefaultInvokeExports,
10
12
  DefaultManifestExports,
11
13
  DrainPolicy,
12
14
  ExternalInterfaceDirection,
13
15
  ExternalInterfaceKind,
16
+ InvokeSurface,
14
17
  RuntimeTarget,
15
18
  } from "./runtime/constants.js";
@@ -0,0 +1,278 @@
1
+ import * as flatbuffers from "flatbuffers";
2
+
3
+ import {
4
+ PluginInvokeRequest,
5
+ PluginInvokeRequestT,
6
+ } from "../generated/orbpro/invoke/plugin-invoke-request.js";
7
+ import {
8
+ PluginInvokeResponse,
9
+ PluginInvokeResponseT,
10
+ } from "../generated/orbpro/invoke/plugin-invoke-response.js";
11
+ import { InvokeSurface } from "../generated/orbpro/manifest/invoke-surface.js";
12
+ import { BufferMutability } from "../generated/orbpro/stream/buffer-mutability.js";
13
+ import { BufferOwnership } from "../generated/orbpro/stream/buffer-ownership.js";
14
+ import { FlatBufferTypeRefT } from "../generated/orbpro/stream/flat-buffer-type-ref.js";
15
+ import { TypedArenaBuffer, TypedArenaBufferT } from "../generated/orbpro/stream/typed-arena-buffer.js";
16
+ import { toUint8Array } from "../runtime/bufferLike.js";
17
+
18
+ function toByteBuffer(data) {
19
+ if (data instanceof flatbuffers.ByteBuffer) {
20
+ return data;
21
+ }
22
+ const bytes = toUint8Array(data);
23
+ if (bytes) {
24
+ return new flatbuffers.ByteBuffer(bytes);
25
+ }
26
+ throw new TypeError(
27
+ "Expected ByteBuffer, Uint8Array, ArrayBufferView, or ArrayBuffer.",
28
+ );
29
+ }
30
+
31
+ function normalizeSchemaHash(value) {
32
+ if (!value) {
33
+ return [];
34
+ }
35
+ if (value instanceof Uint8Array) {
36
+ return Array.from(value);
37
+ }
38
+ if (ArrayBuffer.isView(value)) {
39
+ return Array.from(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
40
+ }
41
+ if (Array.isArray(value)) {
42
+ return value.map((byte) => Number(byte) & 0xff);
43
+ }
44
+ const normalized = String(value).trim().replace(/^0x/i, "");
45
+ if (!normalized || normalized.length % 2 !== 0) {
46
+ return [];
47
+ }
48
+ const bytes = [];
49
+ for (let index = 0; index < normalized.length; index += 2) {
50
+ bytes.push(parseInt(normalized.slice(index, index + 2), 16));
51
+ }
52
+ return bytes;
53
+ }
54
+
55
+ function normalizeUnsignedInteger(value, fallback = 0) {
56
+ const normalized = Number(value ?? fallback);
57
+ if (!Number.isFinite(normalized)) {
58
+ return fallback;
59
+ }
60
+ return Math.max(0, Math.trunc(normalized));
61
+ }
62
+
63
+ function normalizeBigInt(value, fallback = BigInt(0)) {
64
+ if (typeof value === "bigint") {
65
+ return value;
66
+ }
67
+ if (typeof value === "number" && Number.isFinite(value)) {
68
+ return BigInt(Math.trunc(value));
69
+ }
70
+ if (typeof value === "string" && value.trim()) {
71
+ try {
72
+ return BigInt(value.trim());
73
+ } catch {
74
+ return fallback;
75
+ }
76
+ }
77
+ return fallback;
78
+ }
79
+
80
+ function normalizePayloadWireFormat(value) {
81
+ if (value === 1 || value === "aligned-binary") {
82
+ return "aligned-binary";
83
+ }
84
+ return "flatbuffer";
85
+ }
86
+
87
+ function toFlatBufferTypeRefT(value = {}, payloadLength = 0) {
88
+ if (value instanceof FlatBufferTypeRefT) {
89
+ return value;
90
+ }
91
+ const wireFormat = normalizePayloadWireFormat(value.wireFormat);
92
+ const requiredAlignment = normalizeUnsignedInteger(value.requiredAlignment);
93
+ const fixedStringLength = normalizeUnsignedInteger(value.fixedStringLength);
94
+ const byteLength =
95
+ wireFormat === "aligned-binary"
96
+ ? normalizeUnsignedInteger(value.byteLength, payloadLength)
97
+ : normalizeUnsignedInteger(value.byteLength);
98
+ return new FlatBufferTypeRefT(
99
+ value.schemaName ?? null,
100
+ value.fileIdentifier ?? null,
101
+ normalizeSchemaHash(value.schemaHash),
102
+ value.acceptsAnyFlatbuffer === true,
103
+ wireFormat,
104
+ value.rootTypeName ?? null,
105
+ fixedStringLength,
106
+ byteLength,
107
+ requiredAlignment,
108
+ );
109
+ }
110
+
111
+ function alignOffset(offset, alignment) {
112
+ if (alignment <= 1) {
113
+ return offset;
114
+ }
115
+ const remainder = offset % alignment;
116
+ return remainder === 0 ? offset : offset + alignment - remainder;
117
+ }
118
+
119
+ function normalizeArenaFrame(frame = {}, offset) {
120
+ const payload = toUint8Array(frame.payload ?? new Uint8Array()) ?? new Uint8Array();
121
+ const typeRef = toFlatBufferTypeRefT(frame.typeRef ?? frame.allowedType ?? {}, payload.length);
122
+ const alignment = Math.max(
123
+ 1,
124
+ normalizeUnsignedInteger(
125
+ frame.alignment,
126
+ typeRef.requiredAlignment > 0 ? typeRef.requiredAlignment : 8,
127
+ ),
128
+ );
129
+ const alignedOffset = alignOffset(offset, alignment);
130
+ return {
131
+ payload,
132
+ padding: alignedOffset - offset,
133
+ buffer: new TypedArenaBufferT(
134
+ typeRef,
135
+ frame.portId ?? null,
136
+ alignment,
137
+ alignedOffset,
138
+ payload.length,
139
+ frame.ownership ?? BufferOwnership.BORROWED,
140
+ normalizeUnsignedInteger(frame.generation),
141
+ frame.mutability ?? BufferMutability.IMMUTABLE,
142
+ normalizeBigInt(frame.traceId),
143
+ normalizeUnsignedInteger(frame.streamId),
144
+ normalizeBigInt(frame.sequence),
145
+ frame.endOfStream === true,
146
+ ),
147
+ };
148
+ }
149
+
150
+ function packArenaFrames(frames = []) {
151
+ const packedFrames = [];
152
+ const arena = [];
153
+ let offset = 0;
154
+ for (const frame of frames) {
155
+ const normalized = normalizeArenaFrame(frame, offset);
156
+ for (let index = 0; index < normalized.padding; index += 1) {
157
+ arena.push(0);
158
+ }
159
+ arena.push(...normalized.payload);
160
+ offset = normalized.buffer.offset + normalized.buffer.size;
161
+ packedFrames.push(normalized.buffer);
162
+ }
163
+ return {
164
+ frames: packedFrames,
165
+ arena: Uint8Array.from(arena),
166
+ };
167
+ }
168
+
169
+ function materializeArenaFrames(frames = [], arenaBytes) {
170
+ return frames.map((frame) => {
171
+ const offset = normalizeUnsignedInteger(frame.offset);
172
+ const size = normalizeUnsignedInteger(frame.size);
173
+ const payload = new Uint8Array(arenaBytes.slice(offset, offset + size));
174
+ return {
175
+ ...frame,
176
+ payload,
177
+ typeRef: frame.typeRef ?? null,
178
+ };
179
+ });
180
+ }
181
+
182
+ function encodeRoot(builderFactory, finish, value) {
183
+ const builder = new flatbuffers.Builder(1024);
184
+ finish(builder, builderFactory(value).pack(builder));
185
+ return builder.asUint8Array();
186
+ }
187
+
188
+ export function encodePluginInvokeRequest(request = {}) {
189
+ const { frames, arena } = packArenaFrames(
190
+ Array.isArray(request.inputs) ? request.inputs : request.inputFrames ?? [],
191
+ );
192
+ return encodeRoot(
193
+ (value) =>
194
+ new PluginInvokeRequestT(value.methodId ?? null, frames, Array.from(arena)),
195
+ PluginInvokeRequest.finishPluginInvokeRequestBuffer,
196
+ request,
197
+ );
198
+ }
199
+
200
+ export function decodePluginInvokeRequest(data) {
201
+ const bb = toByteBuffer(data);
202
+ if (!PluginInvokeRequest.bufferHasIdentifier(bb)) {
203
+ throw new Error("Plugin invoke request buffer identifier mismatch.");
204
+ }
205
+ const unpacked = PluginInvokeRequest.getRootAsPluginInvokeRequest(bb).unpack();
206
+ const arena = Uint8Array.from(unpacked.payloadArena ?? []);
207
+ const inputs = materializeArenaFrames(unpacked.inputFrames ?? [], arena);
208
+ return {
209
+ methodId: unpacked.methodId ?? null,
210
+ inputFrames: inputs,
211
+ inputs,
212
+ payloadArena: arena,
213
+ };
214
+ }
215
+
216
+ export function encodePluginInvokeResponse(response = {}) {
217
+ const { frames, arena } = packArenaFrames(
218
+ Array.isArray(response.outputs) ? response.outputs : response.outputFrames ?? [],
219
+ );
220
+ return encodeRoot(
221
+ (value) =>
222
+ new PluginInvokeResponseT(
223
+ Number(value.statusCode ?? 0),
224
+ value.yielded === true,
225
+ normalizeUnsignedInteger(value.backlogRemaining),
226
+ frames,
227
+ Array.from(arena),
228
+ value.errorCode ?? null,
229
+ value.errorMessage ?? null,
230
+ ),
231
+ PluginInvokeResponse.finishPluginInvokeResponseBuffer,
232
+ response,
233
+ );
234
+ }
235
+
236
+ export function decodePluginInvokeResponse(data) {
237
+ const bb = toByteBuffer(data);
238
+ if (!PluginInvokeResponse.bufferHasIdentifier(bb)) {
239
+ throw new Error("Plugin invoke response buffer identifier mismatch.");
240
+ }
241
+ const unpacked = PluginInvokeResponse.getRootAsPluginInvokeResponse(bb).unpack();
242
+ const arena = Uint8Array.from(unpacked.payloadArena ?? []);
243
+ const outputs = materializeArenaFrames(unpacked.outputFrames ?? [], arena);
244
+ return {
245
+ statusCode: unpacked.statusCode ?? 0,
246
+ yielded: unpacked.yielded === true,
247
+ backlogRemaining: unpacked.backlogRemaining ?? 0,
248
+ outputFrames: outputs,
249
+ outputs,
250
+ payloadArena: arena,
251
+ errorCode: unpacked.errorCode ?? null,
252
+ errorMessage: unpacked.errorMessage ?? null,
253
+ };
254
+ }
255
+
256
+ export function normalizeInvokeSurfaceName(value) {
257
+ if (value === InvokeSurface.COMMAND || value === "command") {
258
+ return "command";
259
+ }
260
+ if (value === InvokeSurface.DIRECT || value === "direct") {
261
+ return "direct";
262
+ }
263
+ return null;
264
+ }
265
+
266
+ export function normalizeInvokeSurfaces(value) {
267
+ if (!Array.isArray(value)) {
268
+ return [];
269
+ }
270
+ const surfaces = [];
271
+ for (const entry of value) {
272
+ const normalized = normalizeInvokeSurfaceName(entry);
273
+ if (normalized && !surfaces.includes(normalized)) {
274
+ surfaces.push(normalized);
275
+ }
276
+ }
277
+ return surfaces;
278
+ }
@@ -0,0 +1,9 @@
1
+ export * from "../generated/orbpro/invoke.js";
2
+ export {
3
+ decodePluginInvokeRequest,
4
+ decodePluginInvokeResponse,
5
+ encodePluginInvokeRequest,
6
+ encodePluginInvokeResponse,
7
+ normalizeInvokeSurfaceName,
8
+ normalizeInvokeSurfaces,
9
+ } from "./codec.js";