@forthix/forthic 0.7.2 → 0.8.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.
- package/dist/cjs/forthic/decorators/schemaUtils.d.ts +70 -0
- package/dist/cjs/forthic/decorators/schemaUtils.js +77 -0
- package/dist/cjs/forthic/decorators/schemaUtils.js.map +1 -0
- package/dist/cjs/forthic/decorators/stackEffect.d.ts +63 -0
- package/dist/cjs/forthic/decorators/stackEffect.js +179 -0
- package/dist/cjs/forthic/decorators/stackEffect.js.map +1 -0
- package/dist/cjs/forthic/interpreter.d.ts +21 -0
- package/dist/cjs/forthic/interpreter.js +76 -1
- package/dist/cjs/forthic/interpreter.js.map +1 -1
- package/dist/cjs/forthic/module.d.ts +2 -0
- package/dist/cjs/forthic/module.js +4 -0
- package/dist/cjs/forthic/module.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/forthic/decorators/schemaUtils.d.ts +70 -0
- package/dist/esm/forthic/decorators/schemaUtils.js +72 -0
- package/dist/esm/forthic/decorators/schemaUtils.js.map +1 -0
- package/dist/esm/forthic/decorators/stackEffect.d.ts +63 -0
- package/dist/esm/forthic/decorators/stackEffect.js +174 -0
- package/dist/esm/forthic/decorators/stackEffect.js.map +1 -0
- package/dist/esm/forthic/interpreter.d.ts +21 -0
- package/dist/esm/forthic/interpreter.js +74 -1
- package/dist/esm/forthic/interpreter.js.map +1 -1
- package/dist/esm/forthic/module.d.ts +2 -0
- package/dist/esm/forthic/module.js +4 -0
- package/dist/esm/forthic/module.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/grpc/server.test.d.ts +0 -1
- package/dist/cjs/grpc/server.test.js +0 -156
- package/dist/cjs/grpc/server.test.js.map +0 -1
- package/dist/cjs/grpc/temporal_utils.d.ts +0 -36
- package/dist/cjs/grpc/temporal_utils.js +0 -80
- package/dist/cjs/grpc/temporal_utils.js.map +0 -1
- package/dist/cjs/websocket/action_cable_client.d.ts +0 -106
- package/dist/cjs/websocket/action_cable_client.js +0 -269
- package/dist/cjs/websocket/action_cable_client.js.map +0 -1
- package/dist/cjs/websocket/client.d.ts +0 -103
- package/dist/cjs/websocket/client.js +0 -266
- package/dist/cjs/websocket/client.js.map +0 -1
- package/dist/cjs/websocket/remote_module.d.ts +0 -68
- package/dist/cjs/websocket/remote_module.js +0 -107
- package/dist/cjs/websocket/remote_module.js.map +0 -1
- package/dist/cjs/websocket/remote_word.d.ts +0 -53
- package/dist/cjs/websocket/remote_word.js +0 -93
- package/dist/cjs/websocket/remote_word.js.map +0 -1
- package/dist/cjs/websocket/runtime_manager.d.ts +0 -69
- package/dist/cjs/websocket/runtime_manager.js +0 -112
- package/dist/cjs/websocket/runtime_manager.js.map +0 -1
- package/dist/esm/grpc/server.test.d.ts +0 -1
- package/dist/esm/grpc/server.test.js +0 -121
- package/dist/esm/grpc/server.test.js.map +0 -1
- package/dist/esm/grpc/temporal_utils.d.ts +0 -36
- package/dist/esm/grpc/temporal_utils.js +0 -72
- package/dist/esm/grpc/temporal_utils.js.map +0 -1
- package/dist/esm/websocket/action_cable_client.d.ts +0 -106
- package/dist/esm/websocket/action_cable_client.js +0 -265
- package/dist/esm/websocket/action_cable_client.js.map +0 -1
- package/dist/esm/websocket/client.d.ts +0 -103
- package/dist/esm/websocket/client.js +0 -262
- package/dist/esm/websocket/client.js.map +0 -1
- package/dist/esm/websocket/remote_module.d.ts +0 -68
- package/dist/esm/websocket/remote_module.js +0 -103
- package/dist/esm/websocket/remote_module.js.map +0 -1
- package/dist/esm/websocket/remote_word.d.ts +0 -53
- package/dist/esm/websocket/remote_word.js +0 -89
- package/dist/esm/websocket/remote_word.js.map +0 -1
- package/dist/esm/websocket/runtime_manager.d.ts +0 -69
- package/dist/esm/websocket/runtime_manager.js +0 -108
- package/dist/esm/websocket/runtime_manager.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Token, Tokenizer, CodeLocation } from "./tokenizer.js";
|
|
2
2
|
import { Module, Word } from "./module.js";
|
|
3
3
|
import { LiteralHandler } from "./literals.js";
|
|
4
|
+
import { StackValue } from "../websocket/serializer.js";
|
|
4
5
|
type Timestamp = {
|
|
5
6
|
label: string;
|
|
6
7
|
time_ms: number;
|
|
@@ -55,6 +56,7 @@ export declare class Interpreter {
|
|
|
55
56
|
private is_compiling;
|
|
56
57
|
private is_memo_definition;
|
|
57
58
|
private cur_definition;
|
|
59
|
+
private definition_start_input_pos;
|
|
58
60
|
private string_location?;
|
|
59
61
|
private word_counts;
|
|
60
62
|
private is_profiling;
|
|
@@ -164,6 +166,25 @@ export declare class Interpreter {
|
|
|
164
166
|
endStream(): void;
|
|
165
167
|
}
|
|
166
168
|
export declare function dup_interpreter(interp: Interpreter): Interpreter;
|
|
169
|
+
/**
|
|
170
|
+
* Serializable interpreter state for preserving variables, words, and stack
|
|
171
|
+
* across interpreter instantiations (e.g., multiturn chat sessions).
|
|
172
|
+
*/
|
|
173
|
+
export interface InterpreterState {
|
|
174
|
+
stack: StackValue[];
|
|
175
|
+
variables: Record<string, StackValue>;
|
|
176
|
+
word_definitions: string[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Export the app module state and stack from an interpreter as a serializable object.
|
|
180
|
+
* The caller is responsible for persisting the returned state.
|
|
181
|
+
*/
|
|
182
|
+
export declare function export_state(interp: Interpreter): InterpreterState;
|
|
183
|
+
/**
|
|
184
|
+
* Import previously exported state into an interpreter.
|
|
185
|
+
* Replays word definitions, restores variable values, and sets the stack.
|
|
186
|
+
*/
|
|
187
|
+
export declare function import_state(interp: Interpreter, state: InterpreterState): Promise<void>;
|
|
167
188
|
/**
|
|
168
189
|
* Interpreter - Full-featured interpreter with standard library
|
|
169
190
|
*
|
|
@@ -11,6 +11,7 @@ import { MathModule } from "./modules/standard/math_module.js";
|
|
|
11
11
|
import { BooleanModule } from "./modules/standard/boolean_module.js";
|
|
12
12
|
import { JsonModule } from "./modules/standard/json_module.js";
|
|
13
13
|
import { DateTimeModule } from "./modules/standard/datetime_module.js";
|
|
14
|
+
import { serializeValue, deserializeValue, serializeStack, deserializeStack } from "../websocket/serializer.js";
|
|
14
15
|
/**
|
|
15
16
|
* StartModuleWord - Handles module creation and switching
|
|
16
17
|
*
|
|
@@ -178,6 +179,7 @@ export class Interpreter {
|
|
|
178
179
|
is_compiling;
|
|
179
180
|
is_memo_definition;
|
|
180
181
|
cur_definition;
|
|
182
|
+
definition_start_input_pos;
|
|
181
183
|
string_location;
|
|
182
184
|
word_counts;
|
|
183
185
|
is_profiling;
|
|
@@ -201,6 +203,7 @@ export class Interpreter {
|
|
|
201
203
|
this.is_compiling = false;
|
|
202
204
|
this.is_memo_definition = false;
|
|
203
205
|
this.cur_definition = null;
|
|
206
|
+
this.definition_start_input_pos = 0;
|
|
204
207
|
// Debug support
|
|
205
208
|
this.string_location = undefined;
|
|
206
209
|
// Profiling support
|
|
@@ -719,6 +722,8 @@ export class Interpreter {
|
|
|
719
722
|
this.cur_definition = new DefinitionWord(token.string);
|
|
720
723
|
this.is_compiling = true;
|
|
721
724
|
this.is_memo_definition = false;
|
|
725
|
+
// Record the position right after the definition name for source capture
|
|
726
|
+
this.definition_start_input_pos = this.get_tokenizer().input_pos;
|
|
722
727
|
}
|
|
723
728
|
handle_start_memo_token(token) {
|
|
724
729
|
if (this.is_compiling) {
|
|
@@ -727,13 +732,22 @@ export class Interpreter {
|
|
|
727
732
|
this.cur_definition = new DefinitionWord(token.string);
|
|
728
733
|
this.is_compiling = true;
|
|
729
734
|
this.is_memo_definition = true;
|
|
735
|
+
// Record the position right after the memo name for source capture
|
|
736
|
+
this.definition_start_input_pos = this.get_tokenizer().input_pos;
|
|
730
737
|
}
|
|
731
738
|
handle_end_definition_token(token) {
|
|
732
739
|
if (!this.is_compiling || !this.cur_definition) {
|
|
733
740
|
throw new ExtraSemicolonError(this.get_top_input_string(), token.location);
|
|
734
741
|
}
|
|
742
|
+
// Construct the source text for serialization
|
|
743
|
+
const tokenizer = this.get_tokenizer();
|
|
744
|
+
const body = tokenizer.input_string.substring(this.definition_start_input_pos, tokenizer.input_pos);
|
|
745
|
+
const prefix = this.is_memo_definition ? "@:" : ":";
|
|
746
|
+
const source = `${prefix} ${this.cur_definition.name} ${body}`;
|
|
747
|
+
this.cur_definition.source = source;
|
|
735
748
|
if (this.is_memo_definition) {
|
|
736
|
-
this.cur_module().add_memo_words(this.cur_definition);
|
|
749
|
+
const memoWord = this.cur_module().add_memo_words(this.cur_definition);
|
|
750
|
+
memoWord.source = source;
|
|
737
751
|
}
|
|
738
752
|
else {
|
|
739
753
|
this.cur_module().add_word(this.cur_definition);
|
|
@@ -854,6 +868,65 @@ export function dup_interpreter(interp) {
|
|
|
854
868
|
}
|
|
855
869
|
return result_interp;
|
|
856
870
|
}
|
|
871
|
+
/**
|
|
872
|
+
* Export the app module state and stack from an interpreter as a serializable object.
|
|
873
|
+
* The caller is responsible for persisting the returned state.
|
|
874
|
+
*/
|
|
875
|
+
export function export_state(interp) {
|
|
876
|
+
const internal = interp;
|
|
877
|
+
// Serialize the stack
|
|
878
|
+
const stack = serializeStack(internal.stack.get_items());
|
|
879
|
+
// Serialize variables
|
|
880
|
+
const variables = {};
|
|
881
|
+
const appModule = internal.app_module;
|
|
882
|
+
for (const [name, variable] of Object.entries(appModule.variables)) {
|
|
883
|
+
variables[name] = serializeValue(variable.get_value());
|
|
884
|
+
}
|
|
885
|
+
// Collect source text from user-defined words
|
|
886
|
+
const word_definitions = [];
|
|
887
|
+
const seen = new Set();
|
|
888
|
+
for (const word of appModule.words) {
|
|
889
|
+
if (word instanceof DefinitionWord && word.source) {
|
|
890
|
+
// For DefinitionWords, use the source directly (avoids duplicates from memo bang variants)
|
|
891
|
+
if (!seen.has(word.name)) {
|
|
892
|
+
seen.add(word.name);
|
|
893
|
+
word_definitions.push(word.source);
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
else if (word instanceof ModuleMemoWord && word.source) {
|
|
897
|
+
if (!seen.has(word.name)) {
|
|
898
|
+
seen.add(word.name);
|
|
899
|
+
word_definitions.push(word.source);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
return { stack, variables, word_definitions };
|
|
904
|
+
}
|
|
905
|
+
/**
|
|
906
|
+
* Import previously exported state into an interpreter.
|
|
907
|
+
* Replays word definitions, restores variable values, and sets the stack.
|
|
908
|
+
*/
|
|
909
|
+
export async function import_state(interp, state) {
|
|
910
|
+
const internal = interp;
|
|
911
|
+
// 1. Replay word definitions (this may also create variables via VARIABLES word)
|
|
912
|
+
for (const def of state.word_definitions) {
|
|
913
|
+
await interp.run(def);
|
|
914
|
+
}
|
|
915
|
+
// 2. Restore variable values (overwriting any defaults from definitions)
|
|
916
|
+
const appModule = internal.app_module;
|
|
917
|
+
for (const [name, serializedValue] of Object.entries(state.variables)) {
|
|
918
|
+
const value = deserializeValue(serializedValue);
|
|
919
|
+
if (appModule.variables[name]) {
|
|
920
|
+
appModule.variables[name].set_value(value);
|
|
921
|
+
}
|
|
922
|
+
else {
|
|
923
|
+
appModule.add_variable(name, value);
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
// 3. Restore the stack
|
|
927
|
+
const stackItems = deserializeStack(state.stack);
|
|
928
|
+
internal.stack.set_raw_items(stackItems);
|
|
929
|
+
}
|
|
857
930
|
/**
|
|
858
931
|
* Interpreter - Full-featured interpreter with standard library
|
|
859
932
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/forthic/interpreter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/forthic/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,7 @@ export declare class PushValueWord extends Word {
|
|
|
82
82
|
*/
|
|
83
83
|
export declare class DefinitionWord extends Word {
|
|
84
84
|
words: Word[];
|
|
85
|
+
source: string;
|
|
85
86
|
constructor(name: string);
|
|
86
87
|
add_word(word: Word): void;
|
|
87
88
|
execute(interp: Interpreter): Promise<void>;
|
|
@@ -101,6 +102,7 @@ export declare class ModuleMemoWord extends Word {
|
|
|
101
102
|
word: Word;
|
|
102
103
|
has_value: boolean;
|
|
103
104
|
value: any;
|
|
105
|
+
source: string;
|
|
104
106
|
constructor(word: Word);
|
|
105
107
|
refresh(interp: Interpreter): Promise<void>;
|
|
106
108
|
execute(interp: Interpreter): Promise<void>;
|
|
@@ -126,9 +126,11 @@ export class PushValueWord extends Word {
|
|
|
126
126
|
*/
|
|
127
127
|
export class DefinitionWord extends Word {
|
|
128
128
|
words;
|
|
129
|
+
source;
|
|
129
130
|
constructor(name) {
|
|
130
131
|
super(name);
|
|
131
132
|
this.words = [];
|
|
133
|
+
this.source = "";
|
|
132
134
|
}
|
|
133
135
|
add_word(word) {
|
|
134
136
|
this.words.push(word);
|
|
@@ -202,11 +204,13 @@ export class ModuleMemoWord extends Word {
|
|
|
202
204
|
word;
|
|
203
205
|
has_value;
|
|
204
206
|
value;
|
|
207
|
+
source;
|
|
205
208
|
constructor(word) {
|
|
206
209
|
super(word.name);
|
|
207
210
|
this.word = word;
|
|
208
211
|
this.has_value = false;
|
|
209
212
|
this.value = null;
|
|
213
|
+
this.source = "";
|
|
210
214
|
}
|
|
211
215
|
async refresh(interp) {
|
|
212
216
|
await this.word.execute(interp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/forthic/module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/forthic/module.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
/**
|
|
37
|
-
* Phase 11.1: Basic server tests
|
|
38
|
-
* Verify that the TypeScript gRPC server can start and listen on port 50052
|
|
39
|
-
*/
|
|
40
|
-
const server_1 = require("./server");
|
|
41
|
-
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
42
|
-
const protoLoader = __importStar(require("@grpc/proto-loader"));
|
|
43
|
-
const path = __importStar(require("path"));
|
|
44
|
-
describe('TypeScript gRPC Server', () => {
|
|
45
|
-
let server = null;
|
|
46
|
-
const TEST_PORT = 50053; // Use different port to avoid conflicts
|
|
47
|
-
afterEach(async () => {
|
|
48
|
-
// Clean up server if running
|
|
49
|
-
if (server) {
|
|
50
|
-
await new Promise((resolve) => {
|
|
51
|
-
server.tryShutdown(() => {
|
|
52
|
-
resolve();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
server = null;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
test('server starts and listens on specified port', async () => {
|
|
59
|
-
// Start server in background (don't await)
|
|
60
|
-
const serverPromise = (0, server_1.serve)(TEST_PORT);
|
|
61
|
-
// Give server time to start
|
|
62
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
63
|
-
// Try to connect with a client
|
|
64
|
-
const possiblePaths = [
|
|
65
|
-
path.join(__dirname, '../../../../forthic/protos/forthic_runtime.proto'),
|
|
66
|
-
path.join(__dirname, '../../../forthic/protos/forthic_runtime.proto'),
|
|
67
|
-
path.join(process.cwd(), '../forthic/protos/forthic_runtime.proto'),
|
|
68
|
-
];
|
|
69
|
-
let PROTO_PATH = possiblePaths[0];
|
|
70
|
-
const fs = require('fs');
|
|
71
|
-
for (const tryPath of possiblePaths) {
|
|
72
|
-
if (fs.existsSync(tryPath)) {
|
|
73
|
-
PROTO_PATH = tryPath;
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
|
|
78
|
-
keepCase: true,
|
|
79
|
-
longs: Number,
|
|
80
|
-
enums: String,
|
|
81
|
-
defaults: true,
|
|
82
|
-
oneofs: true,
|
|
83
|
-
});
|
|
84
|
-
const protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
|
|
85
|
-
const forthicProto = protoDescriptor.forthic;
|
|
86
|
-
// Create client
|
|
87
|
-
const client = new forthicProto.ForthicRuntime(`localhost:${TEST_PORT}`, grpc.credentials.createInsecure());
|
|
88
|
-
// Test that we can connect by calling ListModules
|
|
89
|
-
const response = await new Promise((resolve, reject) => {
|
|
90
|
-
client.ListModules({}, (error, response) => {
|
|
91
|
-
if (error) {
|
|
92
|
-
reject(error);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
resolve(response);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
// Should succeed with empty module list (no TS-specific modules yet)
|
|
100
|
-
expect(response).toBeDefined();
|
|
101
|
-
expect(response.modules).toBeDefined();
|
|
102
|
-
expect(Array.isArray(response.modules)).toBe(true);
|
|
103
|
-
// Clean up client
|
|
104
|
-
grpc.closeClient(client);
|
|
105
|
-
}, 10000); // 10 second timeout
|
|
106
|
-
test('server can execute simple stdlib word', async () => {
|
|
107
|
-
// Start server
|
|
108
|
-
const serverPromise = (0, server_1.serve)(TEST_PORT);
|
|
109
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
110
|
-
// Load proto
|
|
111
|
-
const possiblePaths = [
|
|
112
|
-
path.join(__dirname, '../../../../forthic/protos/forthic_runtime.proto'),
|
|
113
|
-
path.join(__dirname, '../../../forthic/protos/forthic_runtime.proto'),
|
|
114
|
-
path.join(process.cwd(), '../forthic/protos/forthic_runtime.proto'),
|
|
115
|
-
];
|
|
116
|
-
let PROTO_PATH = possiblePaths[0];
|
|
117
|
-
const fs = require('fs');
|
|
118
|
-
for (const tryPath of possiblePaths) {
|
|
119
|
-
if (fs.existsSync(tryPath)) {
|
|
120
|
-
PROTO_PATH = tryPath;
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
|
|
125
|
-
keepCase: true,
|
|
126
|
-
longs: Number,
|
|
127
|
-
enums: String,
|
|
128
|
-
defaults: true,
|
|
129
|
-
oneofs: true,
|
|
130
|
-
});
|
|
131
|
-
const protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
|
|
132
|
-
const forthicProto = protoDescriptor.forthic;
|
|
133
|
-
const client = new forthicProto.ForthicRuntime(`localhost:${TEST_PORT}`, grpc.credentials.createInsecure());
|
|
134
|
-
// Execute DUP word (duplicates top stack item)
|
|
135
|
-
const response = await new Promise((resolve, reject) => {
|
|
136
|
-
client.ExecuteWord({
|
|
137
|
-
word_name: 'DUP',
|
|
138
|
-
stack: [{ int_value: 42 }],
|
|
139
|
-
}, (error, response) => {
|
|
140
|
-
if (error) {
|
|
141
|
-
reject(error);
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
resolve(response);
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
// Should have [42, 42] on stack
|
|
149
|
-
expect(response.result_stack).toBeDefined();
|
|
150
|
-
expect(response.result_stack.length).toBe(2);
|
|
151
|
-
expect(response.result_stack[0].int_value).toBe(42);
|
|
152
|
-
expect(response.result_stack[1].int_value).toBe(42);
|
|
153
|
-
grpc.closeClient(client);
|
|
154
|
-
}, 10000);
|
|
155
|
-
});
|
|
156
|
-
//# sourceMappingURL=server.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../../src/grpc/server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Temporal Type Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides duck-typing helpers for checking Temporal types.
|
|
5
|
-
* Uses duck typing instead of instanceof to avoid issues with multiple
|
|
6
|
-
* instances of temporal-polyfill being loaded.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Check if a value is a Temporal.PlainDate
|
|
10
|
-
* PlainDate has year, month, day properties but no hour property
|
|
11
|
-
*/
|
|
12
|
-
export declare function isPlainDate(value: any): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Check if a value is a Temporal.Instant
|
|
15
|
-
* Instant has epochNanoseconds property as a bigint
|
|
16
|
-
*/
|
|
17
|
-
export declare function isInstant(value: any): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Check if a value is a Temporal.ZonedDateTime
|
|
20
|
-
* ZonedDateTime has a timeZoneId property
|
|
21
|
-
*/
|
|
22
|
-
export declare function isZonedDateTime(value: any): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Check if a value is a Temporal.PlainTime
|
|
25
|
-
* PlainTime has hour and minute properties but no year
|
|
26
|
-
*/
|
|
27
|
-
export declare function isPlainTime(value: any): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Check if a value is a Temporal.PlainDateTime
|
|
30
|
-
* PlainDateTime has year, month, day, hour properties but no timeZoneId
|
|
31
|
-
*/
|
|
32
|
-
export declare function isPlainDateTime(value: any): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Check if a value is any Temporal type
|
|
35
|
-
*/
|
|
36
|
-
export declare function isTemporal(value: any): boolean;
|