@forthix/forthic 0.7.1 → 0.7.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 (61) hide show
  1. package/dist/cjs/forthic/interpreter.d.ts +2 -0
  2. package/dist/cjs/forthic/interpreter.js +10 -0
  3. package/dist/cjs/forthic/interpreter.js.map +1 -1
  4. package/dist/cjs/grpc/server.test.d.ts +1 -0
  5. package/dist/cjs/grpc/server.test.js +156 -0
  6. package/dist/cjs/grpc/server.test.js.map +1 -0
  7. package/dist/cjs/grpc/temporal_utils.d.ts +36 -0
  8. package/dist/cjs/grpc/temporal_utils.js +80 -0
  9. package/dist/cjs/grpc/temporal_utils.js.map +1 -0
  10. package/dist/cjs/websocket/action_cable_client.d.ts +106 -0
  11. package/dist/cjs/websocket/action_cable_client.js +269 -0
  12. package/dist/cjs/websocket/action_cable_client.js.map +1 -0
  13. package/dist/cjs/websocket/client.d.ts +103 -0
  14. package/dist/cjs/websocket/client.js +266 -0
  15. package/dist/cjs/websocket/client.js.map +1 -0
  16. package/dist/cjs/websocket/remote_module.d.ts +68 -0
  17. package/dist/cjs/websocket/remote_module.js +107 -0
  18. package/dist/cjs/websocket/remote_module.js.map +1 -0
  19. package/dist/cjs/websocket/remote_word.d.ts +53 -0
  20. package/dist/cjs/websocket/remote_word.js +93 -0
  21. package/dist/cjs/websocket/remote_word.js.map +1 -0
  22. package/dist/cjs/websocket/runtime_manager.d.ts +69 -0
  23. package/dist/cjs/websocket/runtime_manager.js +112 -0
  24. package/dist/cjs/websocket/runtime_manager.js.map +1 -0
  25. package/dist/esm/forthic/interpreter.d.ts +2 -0
  26. package/dist/esm/forthic/interpreter.js +11 -1
  27. package/dist/esm/forthic/interpreter.js.map +1 -1
  28. package/dist/esm/grpc/server.test.d.ts +1 -0
  29. package/dist/esm/grpc/server.test.js +121 -0
  30. package/dist/esm/grpc/server.test.js.map +1 -0
  31. package/dist/esm/grpc/temporal_utils.d.ts +36 -0
  32. package/dist/esm/grpc/temporal_utils.js +72 -0
  33. package/dist/esm/grpc/temporal_utils.js.map +1 -0
  34. package/dist/esm/websocket/action_cable_client.d.ts +106 -0
  35. package/dist/esm/websocket/action_cable_client.js +265 -0
  36. package/dist/esm/websocket/action_cable_client.js.map +1 -0
  37. package/dist/esm/websocket/client.d.ts +103 -0
  38. package/dist/esm/websocket/client.js +262 -0
  39. package/dist/esm/websocket/client.js.map +1 -0
  40. package/dist/esm/websocket/remote_module.d.ts +68 -0
  41. package/dist/esm/websocket/remote_module.js +103 -0
  42. package/dist/esm/websocket/remote_module.js.map +1 -0
  43. package/dist/esm/websocket/remote_word.d.ts +53 -0
  44. package/dist/esm/websocket/remote_word.js +89 -0
  45. package/dist/esm/websocket/remote_word.js.map +1 -0
  46. package/dist/esm/websocket/runtime_manager.d.ts +69 -0
  47. package/dist/esm/websocket/runtime_manager.js +108 -0
  48. package/dist/esm/websocket/runtime_manager.js.map +1 -0
  49. package/package.json +1 -1
  50. package/dist/cjs/forthic/decorators/schemaUtils.d.ts +0 -70
  51. package/dist/cjs/forthic/decorators/schemaUtils.js +0 -77
  52. package/dist/cjs/forthic/decorators/schemaUtils.js.map +0 -1
  53. package/dist/cjs/forthic/decorators/stackEffect.d.ts +0 -63
  54. package/dist/cjs/forthic/decorators/stackEffect.js +0 -179
  55. package/dist/cjs/forthic/decorators/stackEffect.js.map +0 -1
  56. package/dist/esm/forthic/decorators/schemaUtils.d.ts +0 -70
  57. package/dist/esm/forthic/decorators/schemaUtils.js +0 -72
  58. package/dist/esm/forthic/decorators/schemaUtils.js.map +0 -1
  59. package/dist/esm/forthic/decorators/stackEffect.d.ts +0 -63
  60. package/dist/esm/forthic/decorators/stackEffect.js +0 -174
  61. package/dist/esm/forthic/decorators/stackEffect.js.map +0 -1
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Phase 11.1: Basic server tests
3
+ * Verify that the TypeScript gRPC server can start and listen on port 50052
4
+ */
5
+ import { serve } from './server';
6
+ import * as grpc from '@grpc/grpc-js';
7
+ import * as protoLoader from '@grpc/proto-loader';
8
+ import * as path from 'path';
9
+ describe('TypeScript gRPC Server', () => {
10
+ let server = null;
11
+ const TEST_PORT = 50053; // Use different port to avoid conflicts
12
+ afterEach(async () => {
13
+ // Clean up server if running
14
+ if (server) {
15
+ await new Promise((resolve) => {
16
+ server.tryShutdown(() => {
17
+ resolve();
18
+ });
19
+ });
20
+ server = null;
21
+ }
22
+ });
23
+ test('server starts and listens on specified port', async () => {
24
+ // Start server in background (don't await)
25
+ const serverPromise = serve(TEST_PORT);
26
+ // Give server time to start
27
+ await new Promise((resolve) => setTimeout(resolve, 1000));
28
+ // Try to connect with a client
29
+ const possiblePaths = [
30
+ path.join(__dirname, '../../../../forthic/protos/forthic_runtime.proto'),
31
+ path.join(__dirname, '../../../forthic/protos/forthic_runtime.proto'),
32
+ path.join(process.cwd(), '../forthic/protos/forthic_runtime.proto'),
33
+ ];
34
+ let PROTO_PATH = possiblePaths[0];
35
+ const fs = require('fs');
36
+ for (const tryPath of possiblePaths) {
37
+ if (fs.existsSync(tryPath)) {
38
+ PROTO_PATH = tryPath;
39
+ break;
40
+ }
41
+ }
42
+ const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
43
+ keepCase: true,
44
+ longs: Number,
45
+ enums: String,
46
+ defaults: true,
47
+ oneofs: true,
48
+ });
49
+ const protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
50
+ const forthicProto = protoDescriptor.forthic;
51
+ // Create client
52
+ const client = new forthicProto.ForthicRuntime(`localhost:${TEST_PORT}`, grpc.credentials.createInsecure());
53
+ // Test that we can connect by calling ListModules
54
+ const response = await new Promise((resolve, reject) => {
55
+ client.ListModules({}, (error, response) => {
56
+ if (error) {
57
+ reject(error);
58
+ }
59
+ else {
60
+ resolve(response);
61
+ }
62
+ });
63
+ });
64
+ // Should succeed with empty module list (no TS-specific modules yet)
65
+ expect(response).toBeDefined();
66
+ expect(response.modules).toBeDefined();
67
+ expect(Array.isArray(response.modules)).toBe(true);
68
+ // Clean up client
69
+ grpc.closeClient(client);
70
+ }, 10000); // 10 second timeout
71
+ test('server can execute simple stdlib word', async () => {
72
+ // Start server
73
+ const serverPromise = serve(TEST_PORT);
74
+ await new Promise((resolve) => setTimeout(resolve, 1000));
75
+ // Load proto
76
+ const possiblePaths = [
77
+ path.join(__dirname, '../../../../forthic/protos/forthic_runtime.proto'),
78
+ path.join(__dirname, '../../../forthic/protos/forthic_runtime.proto'),
79
+ path.join(process.cwd(), '../forthic/protos/forthic_runtime.proto'),
80
+ ];
81
+ let PROTO_PATH = possiblePaths[0];
82
+ const fs = require('fs');
83
+ for (const tryPath of possiblePaths) {
84
+ if (fs.existsSync(tryPath)) {
85
+ PROTO_PATH = tryPath;
86
+ break;
87
+ }
88
+ }
89
+ const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
90
+ keepCase: true,
91
+ longs: Number,
92
+ enums: String,
93
+ defaults: true,
94
+ oneofs: true,
95
+ });
96
+ const protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
97
+ const forthicProto = protoDescriptor.forthic;
98
+ const client = new forthicProto.ForthicRuntime(`localhost:${TEST_PORT}`, grpc.credentials.createInsecure());
99
+ // Execute DUP word (duplicates top stack item)
100
+ const response = await new Promise((resolve, reject) => {
101
+ client.ExecuteWord({
102
+ word_name: 'DUP',
103
+ stack: [{ int_value: 42 }],
104
+ }, (error, response) => {
105
+ if (error) {
106
+ reject(error);
107
+ }
108
+ else {
109
+ resolve(response);
110
+ }
111
+ });
112
+ });
113
+ // Should have [42, 42] on stack
114
+ expect(response.result_stack).toBeDefined();
115
+ expect(response.result_stack.length).toBe(2);
116
+ expect(response.result_stack[0].int_value).toBe(42);
117
+ expect(response.result_stack[1].int_value).toBe(42);
118
+ grpc.closeClient(client);
119
+ }, 10000);
120
+ });
121
+ //# sourceMappingURL=server.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../../src/grpc/server.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
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;
@@ -0,0 +1,72 @@
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 function isPlainDate(value) {
13
+ return value && typeof value === 'object' &&
14
+ typeof value.year === 'number' &&
15
+ typeof value.month === 'number' &&
16
+ typeof value.day === 'number' &&
17
+ typeof value.toString === 'function' &&
18
+ !value.hour; // PlainDate doesn't have hour
19
+ }
20
+ /**
21
+ * Check if a value is a Temporal.Instant
22
+ * Instant has epochNanoseconds property as a bigint
23
+ */
24
+ export function isInstant(value) {
25
+ return value && typeof value === 'object' &&
26
+ typeof value.epochNanoseconds === 'bigint' &&
27
+ typeof value.toString === 'function';
28
+ }
29
+ /**
30
+ * Check if a value is a Temporal.ZonedDateTime
31
+ * ZonedDateTime has a timeZoneId property
32
+ */
33
+ export function isZonedDateTime(value) {
34
+ return value && typeof value === 'object' &&
35
+ typeof value.timeZoneId === 'string' &&
36
+ typeof value.toString === 'function';
37
+ }
38
+ /**
39
+ * Check if a value is a Temporal.PlainTime
40
+ * PlainTime has hour and minute properties but no year
41
+ */
42
+ export function isPlainTime(value) {
43
+ return value && typeof value === 'object' &&
44
+ typeof value.hour === 'number' &&
45
+ typeof value.minute === 'number' &&
46
+ typeof value.toString === 'function' &&
47
+ !value.year; // PlainTime doesn't have year
48
+ }
49
+ /**
50
+ * Check if a value is a Temporal.PlainDateTime
51
+ * PlainDateTime has year, month, day, hour properties but no timeZoneId
52
+ */
53
+ export function isPlainDateTime(value) {
54
+ return value && typeof value === 'object' &&
55
+ typeof value.year === 'number' &&
56
+ typeof value.month === 'number' &&
57
+ typeof value.day === 'number' &&
58
+ typeof value.hour === 'number' &&
59
+ typeof value.toString === 'function' &&
60
+ !value.timeZoneId; // PlainDateTime doesn't have timeZoneId
61
+ }
62
+ /**
63
+ * Check if a value is any Temporal type
64
+ */
65
+ export function isTemporal(value) {
66
+ return isPlainDate(value) ||
67
+ isInstant(value) ||
68
+ isZonedDateTime(value) ||
69
+ isPlainTime(value) ||
70
+ isPlainDateTime(value);
71
+ }
72
+ //# sourceMappingURL=temporal_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal_utils.js","sourceRoot":"","sources":["../../../src/grpc/temporal_utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAU;IACpC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QACpC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAE,8BAA8B;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;QAC1C,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAU;IACpC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QACpC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAE,8BAA8B;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QACpC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAE,wCAAwC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,WAAW,CAAC,KAAK,CAAC;QAClB,SAAS,CAAC,KAAK,CAAC;QAChB,eAAe,CAAC,KAAK,CAAC;QACtB,WAAW,CAAC,KAAK,CAAC;QAClB,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * ActionCable Client for Forthic
3
+ * Browser-compatible client that mirrors GrpcClient API
4
+ * Specifically designed for Rails ActionCable WebSocket protocol
5
+ */
6
+ import { StackValue } from './serializer.js';
7
+ export interface ModuleSummary {
8
+ name: string;
9
+ description: string;
10
+ word_count: number;
11
+ }
12
+ export interface WordInfo {
13
+ name: string;
14
+ stack_effect: string;
15
+ description: string;
16
+ }
17
+ export interface ModuleInfo {
18
+ module_name: string;
19
+ words: WordInfo[];
20
+ }
21
+ export interface ProgressUpdate {
22
+ step: number;
23
+ total_steps: number;
24
+ current_word: string;
25
+ message?: string;
26
+ partial_stack?: StackValue[];
27
+ }
28
+ export interface ActionCableClientConfig {
29
+ url: string;
30
+ timezone?: string;
31
+ reconnect?: boolean;
32
+ reconnectDelay?: number;
33
+ channel?: string;
34
+ }
35
+ /**
36
+ * ActionCable client for executing words in remote Forthic runtimes
37
+ * Mirrors the GrpcClient API for compatibility
38
+ * Uses Rails ActionCable WebSocket protocol
39
+ */
40
+ export declare class ActionCableClient {
41
+ private ws?;
42
+ private config;
43
+ private pendingRequests;
44
+ private messageId;
45
+ private connected;
46
+ private connectionPromise?;
47
+ constructor(config: ActionCableClientConfig);
48
+ /**
49
+ * Connect to the WebSocket server
50
+ */
51
+ private connect;
52
+ /**
53
+ * Handle incoming WebSocket messages
54
+ */
55
+ private handleMessage;
56
+ /**
57
+ * Generate next message ID
58
+ */
59
+ private nextMessageId;
60
+ /**
61
+ * Send a request and wait for response
62
+ * @template T The expected result type (the value of the `result` field)
63
+ */
64
+ private sendRequest;
65
+ /**
66
+ * Send a streaming request with progress callbacks
67
+ * @template T The expected result type (the value of the `result` field)
68
+ */
69
+ private sendStreamingRequest;
70
+ /**
71
+ * Ensure WebSocket is connected
72
+ */
73
+ private ensureConnected;
74
+ /**
75
+ * Execute a word in the remote runtime
76
+ * Mirrors GrpcClient.executeWord
77
+ */
78
+ executeWord(word: string, stack: any[]): Promise<any[]>;
79
+ /**
80
+ * Execute a sequence of words (batched execution)
81
+ * Mirrors GrpcClient.executeSequence
82
+ */
83
+ executeSequence(words: string[], stack: any[]): Promise<any[]>;
84
+ /**
85
+ * List available runtime-specific modules
86
+ * Mirrors GrpcClient.listModules
87
+ */
88
+ listModules(): Promise<ModuleSummary[]>;
89
+ /**
90
+ * Get detailed information about a specific module
91
+ * Mirrors GrpcClient.getModuleInfo
92
+ */
93
+ getModuleInfo(moduleName: string): Promise<ModuleInfo>;
94
+ /**
95
+ * Execute code with streaming progress updates (NEW capability)
96
+ */
97
+ streamingExecute(code: string, stack: any[], onProgress?: (progress: ProgressUpdate) => void): Promise<any[]>;
98
+ /**
99
+ * Close the WebSocket connection
100
+ */
101
+ close(): void;
102
+ /**
103
+ * Check if the client is connected
104
+ */
105
+ isConnected(): boolean;
106
+ }