@suss/intent-ir 0.33.0 → 0.34.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/README.md +6 -6
- package/dist/index.cjs +543 -214
- package/dist/index.d.cts +364 -104
- package/dist/index.d.ts +364 -104
- package/dist/index.js +516 -198
- package/package.json +3 -3
- package/schema/intent-doc.schema.json +430 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suss/intent-ir",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The types for the intent your team writes down, product outcomes and system behavior, in a shape suss can check the code against.",
|
|
6
6
|
"keywords": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
],
|
|
14
14
|
"license": "Apache-2.0",
|
|
15
15
|
"author": "Nimbus Cloud AI LLC",
|
|
16
|
-
"homepage": "https://
|
|
16
|
+
"homepage": "https://suss.sh",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": "git+https://github.com/nimbuscloud-ai/suss.git",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"zod": "^4.0.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@suss/ir-core": "0.
|
|
56
|
+
"@suss/ir-core": "0.34.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"ajv": "^8.20.0",
|
|
@@ -1203,6 +1203,12 @@
|
|
|
1203
1203
|
}
|
|
1204
1204
|
]
|
|
1205
1205
|
},
|
|
1206
|
+
"exits": {
|
|
1207
|
+
"type": "integer",
|
|
1208
|
+
"minimum": 0,
|
|
1209
|
+
"maximum": 255,
|
|
1210
|
+
"description": "This outcome ends the process with this exit code."
|
|
1211
|
+
},
|
|
1206
1212
|
"results": {
|
|
1207
1213
|
"minItems": 1,
|
|
1208
1214
|
"type": "array",
|
|
@@ -1238,6 +1244,46 @@
|
|
|
1238
1244
|
}
|
|
1239
1245
|
}
|
|
1240
1246
|
]
|
|
1247
|
+
},
|
|
1248
|
+
"shape": {
|
|
1249
|
+
"anyOf": [
|
|
1250
|
+
{
|
|
1251
|
+
"$ref": "#/$defs/__schema0"
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
"type": "object",
|
|
1255
|
+
"properties": {
|
|
1256
|
+
"properties": {
|
|
1257
|
+
"type": "object",
|
|
1258
|
+
"propertyNames": {
|
|
1259
|
+
"type": "string"
|
|
1260
|
+
},
|
|
1261
|
+
"additionalProperties": {
|
|
1262
|
+
"$ref": "#/$defs/__schema0"
|
|
1263
|
+
}
|
|
1264
|
+
},
|
|
1265
|
+
"required": {
|
|
1266
|
+
"type": "array",
|
|
1267
|
+
"items": {
|
|
1268
|
+
"type": "string"
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
],
|
|
1274
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1275
|
+
},
|
|
1276
|
+
"from": {
|
|
1277
|
+
"type": "object",
|
|
1278
|
+
"propertyNames": {
|
|
1279
|
+
"type": "string",
|
|
1280
|
+
"minLength": 1
|
|
1281
|
+
},
|
|
1282
|
+
"additionalProperties": {
|
|
1283
|
+
"type": "string",
|
|
1284
|
+
"pattern": "^input\\.[^.]+(\\.[^.]+)*$"
|
|
1285
|
+
},
|
|
1286
|
+
"description": "Where the value of a column the line lists under fields or by comes from, keyed by the column: input.<path>, spelled the way receives spells it."
|
|
1241
1287
|
}
|
|
1242
1288
|
},
|
|
1243
1289
|
"required": ["reads"],
|
|
@@ -1273,6 +1319,46 @@
|
|
|
1273
1319
|
}
|
|
1274
1320
|
}
|
|
1275
1321
|
]
|
|
1322
|
+
},
|
|
1323
|
+
"shape": {
|
|
1324
|
+
"anyOf": [
|
|
1325
|
+
{
|
|
1326
|
+
"$ref": "#/$defs/__schema0"
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
"type": "object",
|
|
1330
|
+
"properties": {
|
|
1331
|
+
"properties": {
|
|
1332
|
+
"type": "object",
|
|
1333
|
+
"propertyNames": {
|
|
1334
|
+
"type": "string"
|
|
1335
|
+
},
|
|
1336
|
+
"additionalProperties": {
|
|
1337
|
+
"$ref": "#/$defs/__schema0"
|
|
1338
|
+
}
|
|
1339
|
+
},
|
|
1340
|
+
"required": {
|
|
1341
|
+
"type": "array",
|
|
1342
|
+
"items": {
|
|
1343
|
+
"type": "string"
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
],
|
|
1349
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1350
|
+
},
|
|
1351
|
+
"from": {
|
|
1352
|
+
"type": "object",
|
|
1353
|
+
"propertyNames": {
|
|
1354
|
+
"type": "string",
|
|
1355
|
+
"minLength": 1
|
|
1356
|
+
},
|
|
1357
|
+
"additionalProperties": {
|
|
1358
|
+
"type": "string",
|
|
1359
|
+
"pattern": "^input\\.[^.]+(\\.[^.]+)*$"
|
|
1360
|
+
},
|
|
1361
|
+
"description": "Where the value of a column the line lists under fields or by comes from, keyed by the column: input.<path>, spelled the way receives spells it."
|
|
1276
1362
|
}
|
|
1277
1363
|
},
|
|
1278
1364
|
"required": ["writes"],
|
|
@@ -1308,6 +1394,46 @@
|
|
|
1308
1394
|
}
|
|
1309
1395
|
}
|
|
1310
1396
|
]
|
|
1397
|
+
},
|
|
1398
|
+
"shape": {
|
|
1399
|
+
"anyOf": [
|
|
1400
|
+
{
|
|
1401
|
+
"$ref": "#/$defs/__schema0"
|
|
1402
|
+
},
|
|
1403
|
+
{
|
|
1404
|
+
"type": "object",
|
|
1405
|
+
"properties": {
|
|
1406
|
+
"properties": {
|
|
1407
|
+
"type": "object",
|
|
1408
|
+
"propertyNames": {
|
|
1409
|
+
"type": "string"
|
|
1410
|
+
},
|
|
1411
|
+
"additionalProperties": {
|
|
1412
|
+
"$ref": "#/$defs/__schema0"
|
|
1413
|
+
}
|
|
1414
|
+
},
|
|
1415
|
+
"required": {
|
|
1416
|
+
"type": "array",
|
|
1417
|
+
"items": {
|
|
1418
|
+
"type": "string"
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
],
|
|
1424
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1425
|
+
},
|
|
1426
|
+
"from": {
|
|
1427
|
+
"type": "object",
|
|
1428
|
+
"propertyNames": {
|
|
1429
|
+
"type": "string",
|
|
1430
|
+
"minLength": 1
|
|
1431
|
+
},
|
|
1432
|
+
"additionalProperties": {
|
|
1433
|
+
"type": "string",
|
|
1434
|
+
"pattern": "^input\\.[^.]+(\\.[^.]+)*$"
|
|
1435
|
+
},
|
|
1436
|
+
"description": "Where the value of a column the line lists under fields or by comes from, keyed by the column: input.<path>, spelled the way receives spells it."
|
|
1311
1437
|
}
|
|
1312
1438
|
},
|
|
1313
1439
|
"required": ["invokes"],
|
|
@@ -1322,6 +1448,231 @@
|
|
|
1322
1448
|
"additionalProperties": false
|
|
1323
1449
|
},
|
|
1324
1450
|
"description": "Every outcome the boundary can produce, one entry each."
|
|
1451
|
+
},
|
|
1452
|
+
"always": {
|
|
1453
|
+
"minItems": 1,
|
|
1454
|
+
"type": "array",
|
|
1455
|
+
"items": {
|
|
1456
|
+
"anyOf": [
|
|
1457
|
+
{
|
|
1458
|
+
"type": "object",
|
|
1459
|
+
"properties": {
|
|
1460
|
+
"reads": {
|
|
1461
|
+
"type": "string",
|
|
1462
|
+
"minLength": 1
|
|
1463
|
+
},
|
|
1464
|
+
"fields": {
|
|
1465
|
+
"minItems": 1,
|
|
1466
|
+
"type": "array",
|
|
1467
|
+
"items": {
|
|
1468
|
+
"type": "string",
|
|
1469
|
+
"minLength": 1
|
|
1470
|
+
}
|
|
1471
|
+
},
|
|
1472
|
+
"by": {
|
|
1473
|
+
"anyOf": [
|
|
1474
|
+
{
|
|
1475
|
+
"type": "string",
|
|
1476
|
+
"minLength": 1
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"minItems": 1,
|
|
1480
|
+
"type": "array",
|
|
1481
|
+
"items": {
|
|
1482
|
+
"type": "string",
|
|
1483
|
+
"minLength": 1
|
|
1484
|
+
}
|
|
1485
|
+
}
|
|
1486
|
+
]
|
|
1487
|
+
},
|
|
1488
|
+
"shape": {
|
|
1489
|
+
"anyOf": [
|
|
1490
|
+
{
|
|
1491
|
+
"$ref": "#/$defs/__schema0"
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"type": "object",
|
|
1495
|
+
"properties": {
|
|
1496
|
+
"properties": {
|
|
1497
|
+
"type": "object",
|
|
1498
|
+
"propertyNames": {
|
|
1499
|
+
"type": "string"
|
|
1500
|
+
},
|
|
1501
|
+
"additionalProperties": {
|
|
1502
|
+
"$ref": "#/$defs/__schema0"
|
|
1503
|
+
}
|
|
1504
|
+
},
|
|
1505
|
+
"required": {
|
|
1506
|
+
"type": "array",
|
|
1507
|
+
"items": {
|
|
1508
|
+
"type": "string"
|
|
1509
|
+
}
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
],
|
|
1514
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1515
|
+
},
|
|
1516
|
+
"except": {
|
|
1517
|
+
"minItems": 1,
|
|
1518
|
+
"type": "array",
|
|
1519
|
+
"items": {
|
|
1520
|
+
"type": "string",
|
|
1521
|
+
"minLength": 1
|
|
1522
|
+
},
|
|
1523
|
+
"description": "The ids of the outcomes that do not have to have the effect."
|
|
1524
|
+
}
|
|
1525
|
+
},
|
|
1526
|
+
"required": ["reads"],
|
|
1527
|
+
"additionalProperties": false
|
|
1528
|
+
},
|
|
1529
|
+
{
|
|
1530
|
+
"type": "object",
|
|
1531
|
+
"properties": {
|
|
1532
|
+
"writes": {
|
|
1533
|
+
"type": "string",
|
|
1534
|
+
"minLength": 1
|
|
1535
|
+
},
|
|
1536
|
+
"fields": {
|
|
1537
|
+
"minItems": 1,
|
|
1538
|
+
"type": "array",
|
|
1539
|
+
"items": {
|
|
1540
|
+
"type": "string",
|
|
1541
|
+
"minLength": 1
|
|
1542
|
+
}
|
|
1543
|
+
},
|
|
1544
|
+
"by": {
|
|
1545
|
+
"anyOf": [
|
|
1546
|
+
{
|
|
1547
|
+
"type": "string",
|
|
1548
|
+
"minLength": 1
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
"minItems": 1,
|
|
1552
|
+
"type": "array",
|
|
1553
|
+
"items": {
|
|
1554
|
+
"type": "string",
|
|
1555
|
+
"minLength": 1
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
]
|
|
1559
|
+
},
|
|
1560
|
+
"shape": {
|
|
1561
|
+
"anyOf": [
|
|
1562
|
+
{
|
|
1563
|
+
"$ref": "#/$defs/__schema0"
|
|
1564
|
+
},
|
|
1565
|
+
{
|
|
1566
|
+
"type": "object",
|
|
1567
|
+
"properties": {
|
|
1568
|
+
"properties": {
|
|
1569
|
+
"type": "object",
|
|
1570
|
+
"propertyNames": {
|
|
1571
|
+
"type": "string"
|
|
1572
|
+
},
|
|
1573
|
+
"additionalProperties": {
|
|
1574
|
+
"$ref": "#/$defs/__schema0"
|
|
1575
|
+
}
|
|
1576
|
+
},
|
|
1577
|
+
"required": {
|
|
1578
|
+
"type": "array",
|
|
1579
|
+
"items": {
|
|
1580
|
+
"type": "string"
|
|
1581
|
+
}
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
],
|
|
1586
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1587
|
+
},
|
|
1588
|
+
"except": {
|
|
1589
|
+
"minItems": 1,
|
|
1590
|
+
"type": "array",
|
|
1591
|
+
"items": {
|
|
1592
|
+
"type": "string",
|
|
1593
|
+
"minLength": 1
|
|
1594
|
+
},
|
|
1595
|
+
"description": "The ids of the outcomes that do not have to have the effect."
|
|
1596
|
+
}
|
|
1597
|
+
},
|
|
1598
|
+
"required": ["writes"],
|
|
1599
|
+
"additionalProperties": false
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"type": "object",
|
|
1603
|
+
"properties": {
|
|
1604
|
+
"invokes": {
|
|
1605
|
+
"type": "string",
|
|
1606
|
+
"minLength": 1
|
|
1607
|
+
},
|
|
1608
|
+
"fields": {
|
|
1609
|
+
"minItems": 1,
|
|
1610
|
+
"type": "array",
|
|
1611
|
+
"items": {
|
|
1612
|
+
"type": "string",
|
|
1613
|
+
"minLength": 1
|
|
1614
|
+
}
|
|
1615
|
+
},
|
|
1616
|
+
"by": {
|
|
1617
|
+
"anyOf": [
|
|
1618
|
+
{
|
|
1619
|
+
"type": "string",
|
|
1620
|
+
"minLength": 1
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"minItems": 1,
|
|
1624
|
+
"type": "array",
|
|
1625
|
+
"items": {
|
|
1626
|
+
"type": "string",
|
|
1627
|
+
"minLength": 1
|
|
1628
|
+
}
|
|
1629
|
+
}
|
|
1630
|
+
]
|
|
1631
|
+
},
|
|
1632
|
+
"shape": {
|
|
1633
|
+
"anyOf": [
|
|
1634
|
+
{
|
|
1635
|
+
"$ref": "#/$defs/__schema0"
|
|
1636
|
+
},
|
|
1637
|
+
{
|
|
1638
|
+
"type": "object",
|
|
1639
|
+
"properties": {
|
|
1640
|
+
"properties": {
|
|
1641
|
+
"type": "object",
|
|
1642
|
+
"propertyNames": {
|
|
1643
|
+
"type": "string"
|
|
1644
|
+
},
|
|
1645
|
+
"additionalProperties": {
|
|
1646
|
+
"$ref": "#/$defs/__schema0"
|
|
1647
|
+
}
|
|
1648
|
+
},
|
|
1649
|
+
"required": {
|
|
1650
|
+
"type": "array",
|
|
1651
|
+
"items": {
|
|
1652
|
+
"type": "string"
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
],
|
|
1658
|
+
"description": "The shape of what the effect writes, such as the report a command prints."
|
|
1659
|
+
},
|
|
1660
|
+
"except": {
|
|
1661
|
+
"minItems": 1,
|
|
1662
|
+
"type": "array",
|
|
1663
|
+
"items": {
|
|
1664
|
+
"type": "string",
|
|
1665
|
+
"minLength": 1
|
|
1666
|
+
},
|
|
1667
|
+
"description": "The ids of the outcomes that do not have to have the effect."
|
|
1668
|
+
}
|
|
1669
|
+
},
|
|
1670
|
+
"required": ["invokes"],
|
|
1671
|
+
"additionalProperties": false
|
|
1672
|
+
}
|
|
1673
|
+
]
|
|
1674
|
+
},
|
|
1675
|
+
"description": "Effects that every transition producing a declared outcome has, apart from the outcomes listed under except."
|
|
1325
1676
|
}
|
|
1326
1677
|
},
|
|
1327
1678
|
"required": [
|
|
@@ -1400,6 +1751,40 @@
|
|
|
1400
1751
|
}
|
|
1401
1752
|
],
|
|
1402
1753
|
"description": "The boundary-intent outcomes this scenario is about, each written <intent-name>.<outcome-id>."
|
|
1754
|
+
},
|
|
1755
|
+
"coveredBy": {
|
|
1756
|
+
"anyOf": [
|
|
1757
|
+
{
|
|
1758
|
+
"type": "string",
|
|
1759
|
+
"minLength": 1
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
"minItems": 1,
|
|
1763
|
+
"type": "array",
|
|
1764
|
+
"items": {
|
|
1765
|
+
"type": "string",
|
|
1766
|
+
"minLength": 1
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
],
|
|
1770
|
+
"description": "The tests that exercise this scenario, each written the way its runner prints it: for vitest or RSpec, the test file, then each describe or context title, then the test's own title, joined with ' > '; for pytest, the node id, as in tests/test_orders.py::TestCancel::test_twice."
|
|
1771
|
+
},
|
|
1772
|
+
"about": {
|
|
1773
|
+
"anyOf": [
|
|
1774
|
+
{
|
|
1775
|
+
"type": "string",
|
|
1776
|
+
"minLength": 1
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"minItems": 1,
|
|
1780
|
+
"type": "array",
|
|
1781
|
+
"items": {
|
|
1782
|
+
"type": "string",
|
|
1783
|
+
"minLength": 1
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
],
|
|
1787
|
+
"description": "What a covering test has to reach for the scenario to count as covered: a boundary or a unit, spelled the way suss ask takes one. Without it, a test has to reach one of the boundaries the PRD's other scenarios link to."
|
|
1403
1788
|
}
|
|
1404
1789
|
},
|
|
1405
1790
|
"required": ["when", "expect"],
|
|
@@ -1469,6 +1854,51 @@
|
|
|
1469
1854
|
}
|
|
1470
1855
|
},
|
|
1471
1856
|
"required": ["type"]
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
"type": "object",
|
|
1860
|
+
"properties": {
|
|
1861
|
+
"const": {
|
|
1862
|
+
"anyOf": [
|
|
1863
|
+
{
|
|
1864
|
+
"type": "string"
|
|
1865
|
+
},
|
|
1866
|
+
{
|
|
1867
|
+
"type": "number"
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
"type": "boolean"
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"type": "null"
|
|
1874
|
+
}
|
|
1875
|
+
]
|
|
1876
|
+
}
|
|
1877
|
+
},
|
|
1878
|
+
"required": ["const"],
|
|
1879
|
+
"additionalProperties": false
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"type": "object",
|
|
1883
|
+
"properties": {
|
|
1884
|
+
"properties": {
|
|
1885
|
+
"type": "object",
|
|
1886
|
+
"propertyNames": {
|
|
1887
|
+
"type": "string"
|
|
1888
|
+
},
|
|
1889
|
+
"additionalProperties": {
|
|
1890
|
+
"$ref": "#/$defs/__schema0"
|
|
1891
|
+
}
|
|
1892
|
+
},
|
|
1893
|
+
"required": {
|
|
1894
|
+
"type": "array",
|
|
1895
|
+
"items": {
|
|
1896
|
+
"type": "string"
|
|
1897
|
+
}
|
|
1898
|
+
}
|
|
1899
|
+
},
|
|
1900
|
+
"required": ["properties"],
|
|
1901
|
+
"additionalProperties": false
|
|
1472
1902
|
}
|
|
1473
1903
|
]
|
|
1474
1904
|
}
|