toilscript 0.1.45 → 0.1.47

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "imports": {
3
- "toilscript": "https://cdn.jsdelivr.net/npm/toilscript@0.1.45/dist/toilscript.js",
4
- "toilscript/cli": "https://cdn.jsdelivr.net/npm/toilscript@0.1.45/dist/cli.js",
3
+ "toilscript": "https://cdn.jsdelivr.net/npm/toilscript@0.1.47/dist/toilscript.js",
4
+ "toilscript/cli": "https://cdn.jsdelivr.net/npm/toilscript@0.1.47/dist/cli.js",
5
5
  "binaryen": "https://cdn.jsdelivr.net/npm/binaryen@130.0.0-nightly.20260609/index.js",
6
6
  "long": "https://cdn.jsdelivr.net/npm/long@5.3.2/index.js"
7
7
  }
@@ -609,7 +609,9 @@ declare module "types:toilscript/src/diagnosticMessages.generated" {
609
609
  Scheduled_handler_0_must_take_no_arguments_and_return_void = 9012,
610
610
  Stream_scope_must_be_a_StreamScope_enum_member = 9013,
611
611
  Stream_connect_handler_0_has_an_invalid_signature = 9014,
612
- Stream_message_handler_0_has_an_invalid_signature = 9015
612
+ Stream_message_handler_0_has_an_invalid_signature = 9015,
613
+ Stream_close_handler_0_has_an_invalid_signature = 9016,
614
+ Stream_disconnect_handler_0_has_an_invalid_signature = 9017
613
615
  }
614
616
  /** Translates a diagnostic code to its respective string. */
615
617
  export function diagnosticCodeToString(code: DiagnosticCode): string;
@@ -3127,9 +3129,10 @@ declare module "types:toilscript/src/parser" {
3127
3129
  /**
3128
3130
  * Wire `@service` classes and free `@remote` functions onto the global `Rpc` registry. Runs ONCE
3129
3131
  * before element creation (via `weaveDataMigrations`). `@service` could be done at parse time, but
3130
- * folding both here gives a SINGLE place to honor the `@stream` gating: a project using `@stream`
3131
- * cannot declare `@service`/`@remote` (the 9003 diagnostic fires at element creation), so we must not
3132
- * half-inject first or the build crashes instead of reporting it.
3132
+ * folding both here gives a SINGLE place to honor the same-source `@stream` rule: ONE source cannot
3133
+ * declare both `@stream` and `@service`/`@remote`, so we SKIP the RPC weave for any source that also has
3134
+ * a `@stream` - weaving it would half-inject an unresolvable import and crash instead of letting
3135
+ * enforceStreamServiceExclusion report it. (`@stream` + `@service`/`@remote` DO coexist across tiers.)
3133
3136
  */
3134
3137
  private weaveRpc;
3135
3138
  /** Reject duplicate client-facing `Server` keys (two @services lowercasing to the same key, a free
@@ -3137,8 +3140,8 @@ declare module "types:toilscript/src/parser" {
3137
3140
  * surface is emitted - else the generated `Server` object/type silently overwrites a key, or a collided
3138
3141
  * id routes to the wrong method at dispatch. */
3139
3142
  private checkRpcSurfaceCollisions;
3140
- /** True if the program declares any `@stream` class (gates the RPC weave; see diagnostic 9003). */
3141
- private projectHasStream;
3143
+ /** True if `source` declares any `@stream` class (the RPC weave skips such a source; diagnostic 9003). */
3144
+ private sourceHasStream;
3142
3145
  /** Inject the RPC dispatch fn + its registration for one free `@remote` function (id = FNV of the
3143
3146
  * bare function name, matching the generated client). */
3144
3147
  private injectRemote;
@@ -3675,12 +3678,11 @@ declare module "types:toilscript/src/program" {
3675
3678
  /** Initializes the program and its elements prior to compilation. */
3676
3679
  initialize(): void;
3677
3680
  /**
3678
- * Enforces the project-wide rule that a compilation unit using `@stream` cannot also
3679
- * declare `@service` or `@remote` anywhere (spec 03 section 4.4). The host loads one
3680
- * `hot.wasm` whose surface is either a stream node or an RPC service node, never both,
3681
- * so mixing them is a deploy-time ambiguity caught fail-closed at compile time. Reported
3682
- * at the offending `@service`/`@remote` site. Skipped in cold mode (neither flag is
3683
- * admitted there anyway).
3681
+ * Enforces that a SINGLE source (one emitted surface) cannot declare BOTH `@stream` AND
3682
+ * `@service`/`@remote`: the host loads one artifact whose surface is either a stream node or an RPC
3683
+ * service node, never both. `@stream` and `@service`/`@remote` DO coexist across separate tier files
3684
+ * (main.ts vs main.stream.ts); only the same-source clash is the deploy-time ambiguity caught here.
3685
+ * Reported at the offending `@service`/`@remote` site. Skipped in cold mode.
3684
3686
  */
3685
3687
  private enforceStreamServiceExclusion;
3686
3688
  /** Processes overridden members by this class in a base class. */
@@ -4628,8 +4630,8 @@ declare module "types:toilscript/src/dbcatalog" {
4628
4630
  * u8 hook_presence_bitmask (bit0 connect..bit3 disconnect)
4629
4631
  * u8 declared_scope (0 regional/L2, 1 continental/L3)
4630
4632
  * u8 message_mode (0 raw, 1 @data-typed)
4631
- * u32 max_frame_bytes (0 = use plan default)
4632
- * u32 ingress_ring_bytes (0 = host chooses)
4633
+ * u32 max_frame_bytes (RESERVED: parsed, not yet consumed; the runtime ignores it)
4634
+ * u32 ingress_ring_bytes (RESERVED: parsed, not yet consumed; the runtime ignores it)
4633
4635
  * u32 message_value_data_id (fnv1a(typeName); 0 when raw)
4634
4636
  * u32 message_schema_version (recursive layoutHash; 0 when raw)
4635
4637
  * u16 stream_index (0-based position in this array)