tree-sitter-bynk 0.163.0 → 0.185.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/grammar.js CHANGED
@@ -1044,6 +1044,22 @@ module.exports = grammar({
1044
1044
  optional(seq(":", field("type", $._type_ref))),
1045
1045
  "<-",
1046
1046
  field("value", $._expression),
1047
+ // v0.182 (#664): an optional call-site actor clause — the test-body form
1048
+ // `let x <- <service address> by <Actor>(<identity>)`. Distinct from
1049
+ // `by_clause` (the handler form): the identity is an argument, not a
1050
+ // binder, and there is no actor sum.
1051
+ optional(field("principal", $.call_site_actor)),
1052
+ ),
1053
+ // v0.182 (#664): `by <Actor>` (unit identity) or `by <Actor>(<identity>)`.
1054
+ // `prec.right` so an immediately-following `(` is taken as the identity
1055
+ // argument rather than starting a fresh token sequence.
1056
+ call_site_actor: ($) =>
1057
+ prec.right(
1058
+ seq(
1059
+ "by",
1060
+ field("actor", $.identifier),
1061
+ optional(seq("(", field("identity", $._expression), ")")),
1062
+ ),
1047
1063
  ),
1048
1064
  // v0.79: `~> expr` — an asynchronous fire-and-forget send (no binder).
1049
1065
  effect_send_stmt: ($) => seq("~>", field("value", $._expression)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tree-sitter-bynk",
3
- "version": "0.163.0",
3
+ "version": "0.185.0",
4
4
  "description": "Tree-sitter grammar for the Bynk DSL (v0–v0.16).",
5
5
  "main": "bindings/node",
6
6
  "types": "bindings/node",
package/src/grammar.json CHANGED
@@ -5179,9 +5179,75 @@
5179
5179
  "type": "SYMBOL",
5180
5180
  "name": "_expression"
5181
5181
  }
5182
+ },
5183
+ {
5184
+ "type": "CHOICE",
5185
+ "members": [
5186
+ {
5187
+ "type": "FIELD",
5188
+ "name": "principal",
5189
+ "content": {
5190
+ "type": "SYMBOL",
5191
+ "name": "call_site_actor"
5192
+ }
5193
+ },
5194
+ {
5195
+ "type": "BLANK"
5196
+ }
5197
+ ]
5182
5198
  }
5183
5199
  ]
5184
5200
  },
5201
+ "call_site_actor": {
5202
+ "type": "PREC_RIGHT",
5203
+ "value": 0,
5204
+ "content": {
5205
+ "type": "SEQ",
5206
+ "members": [
5207
+ {
5208
+ "type": "STRING",
5209
+ "value": "by"
5210
+ },
5211
+ {
5212
+ "type": "FIELD",
5213
+ "name": "actor",
5214
+ "content": {
5215
+ "type": "SYMBOL",
5216
+ "name": "identifier"
5217
+ }
5218
+ },
5219
+ {
5220
+ "type": "CHOICE",
5221
+ "members": [
5222
+ {
5223
+ "type": "SEQ",
5224
+ "members": [
5225
+ {
5226
+ "type": "STRING",
5227
+ "value": "("
5228
+ },
5229
+ {
5230
+ "type": "FIELD",
5231
+ "name": "identity",
5232
+ "content": {
5233
+ "type": "SYMBOL",
5234
+ "name": "_expression"
5235
+ }
5236
+ },
5237
+ {
5238
+ "type": "STRING",
5239
+ "value": ")"
5240
+ }
5241
+ ]
5242
+ },
5243
+ {
5244
+ "type": "BLANK"
5245
+ }
5246
+ ]
5247
+ }
5248
+ ]
5249
+ }
5250
+ },
5185
5251
  "effect_send_stmt": {
5186
5252
  "type": "SEQ",
5187
5253
  "members": [
@@ -1300,6 +1300,148 @@
1300
1300
  ]
1301
1301
  }
1302
1302
  },
1303
+ {
1304
+ "type": "call_site_actor",
1305
+ "named": true,
1306
+ "fields": {
1307
+ "actor": {
1308
+ "multiple": false,
1309
+ "required": true,
1310
+ "types": [
1311
+ {
1312
+ "type": "identifier",
1313
+ "named": true
1314
+ }
1315
+ ]
1316
+ },
1317
+ "identity": {
1318
+ "multiple": false,
1319
+ "required": false,
1320
+ "types": [
1321
+ {
1322
+ "type": "binary_expr",
1323
+ "named": true
1324
+ },
1325
+ {
1326
+ "type": "block",
1327
+ "named": true
1328
+ },
1329
+ {
1330
+ "type": "boolean_literal",
1331
+ "named": true
1332
+ },
1333
+ {
1334
+ "type": "call",
1335
+ "named": true
1336
+ },
1337
+ {
1338
+ "type": "effect_pure_expr",
1339
+ "named": true
1340
+ },
1341
+ {
1342
+ "type": "err_expr",
1343
+ "named": true
1344
+ },
1345
+ {
1346
+ "type": "expect_expr",
1347
+ "named": true
1348
+ },
1349
+ {
1350
+ "type": "field_access",
1351
+ "named": true
1352
+ },
1353
+ {
1354
+ "type": "float_literal",
1355
+ "named": true
1356
+ },
1357
+ {
1358
+ "type": "identifier",
1359
+ "named": true
1360
+ },
1361
+ {
1362
+ "type": "if_expr",
1363
+ "named": true
1364
+ },
1365
+ {
1366
+ "type": "is_expr",
1367
+ "named": true
1368
+ },
1369
+ {
1370
+ "type": "lambda_expr",
1371
+ "named": true
1372
+ },
1373
+ {
1374
+ "type": "list_literal",
1375
+ "named": true
1376
+ },
1377
+ {
1378
+ "type": "match_expr",
1379
+ "named": true
1380
+ },
1381
+ {
1382
+ "type": "method_call",
1383
+ "named": true
1384
+ },
1385
+ {
1386
+ "type": "none_expr",
1387
+ "named": true
1388
+ },
1389
+ {
1390
+ "type": "number_literal",
1391
+ "named": true
1392
+ },
1393
+ {
1394
+ "type": "ok_expr",
1395
+ "named": true
1396
+ },
1397
+ {
1398
+ "type": "paren_expr",
1399
+ "named": true
1400
+ },
1401
+ {
1402
+ "type": "question_expr",
1403
+ "named": true
1404
+ },
1405
+ {
1406
+ "type": "record_construction",
1407
+ "named": true
1408
+ },
1409
+ {
1410
+ "type": "record_spread",
1411
+ "named": true
1412
+ },
1413
+ {
1414
+ "type": "self_expr",
1415
+ "named": true
1416
+ },
1417
+ {
1418
+ "type": "some_expr",
1419
+ "named": true
1420
+ },
1421
+ {
1422
+ "type": "string_literal",
1423
+ "named": true
1424
+ },
1425
+ {
1426
+ "type": "trace_expr",
1427
+ "named": true
1428
+ },
1429
+ {
1430
+ "type": "unary_expr",
1431
+ "named": true
1432
+ },
1433
+ {
1434
+ "type": "unit_literal",
1435
+ "named": true
1436
+ },
1437
+ {
1438
+ "type": "val_expr",
1439
+ "named": true
1440
+ }
1441
+ ]
1442
+ }
1443
+ }
1444
+ },
1303
1445
  {
1304
1446
  "type": "capability_decl",
1305
1447
  "named": true,
@@ -2129,6 +2271,16 @@
2129
2271
  }
2130
2272
  ]
2131
2273
  },
2274
+ "principal": {
2275
+ "multiple": false,
2276
+ "required": false,
2277
+ "types": [
2278
+ {
2279
+ "type": "call_site_actor",
2280
+ "named": true
2281
+ }
2282
+ ]
2283
+ },
2132
2284
  "type": {
2133
2285
  "multiple": false,
2134
2286
  "required": false,