@suss/adapter-ruby 0.5.11 → 0.7.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/index.cjs +38 -23
- package/dist/index.js +38 -23
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -15296,7 +15296,7 @@ function date4(params) {
|
|
|
15296
15296
|
// ../../../node_modules/zod/v4/classic/external.js
|
|
15297
15297
|
config(en_default());
|
|
15298
15298
|
|
|
15299
|
-
// ../../ir-core/dist/chunk-
|
|
15299
|
+
// ../../ir-core/dist/chunk-TEXSN75M.js
|
|
15300
15300
|
function gqlIdentityKey(typeName, fieldName) {
|
|
15301
15301
|
return `gql:${typeName}.${fieldName}`;
|
|
15302
15302
|
}
|
|
@@ -15665,27 +15665,41 @@ var runtimeConfigSemantics = defineBoundarySemantics({
|
|
|
15665
15665
|
identityKey: () => null
|
|
15666
15666
|
}
|
|
15667
15667
|
});
|
|
15668
|
-
var
|
|
15669
|
-
name: external_exports.literal("storage
|
|
15670
|
-
storageSystem: external_exports.enum(["postgres", "mysql", "sqlite"]),
|
|
15668
|
+
var StorageSemanticsSchema = external_exports.object({
|
|
15669
|
+
name: external_exports.literal("storage"),
|
|
15671
15670
|
/**
|
|
15672
|
-
*
|
|
15673
|
-
*
|
|
15671
|
+
* Which store this is: postgres, mysql, sqlite, dynamodb. Two
|
|
15672
|
+
* products' containers can share a name, so this keeps them apart,
|
|
15673
|
+
* and it is what a finding message calls the store.
|
|
15674
|
+
*/
|
|
15675
|
+
storageSystem: external_exports.string(),
|
|
15676
|
+
/**
|
|
15677
|
+
* The ORM, schema, or deployment scope. A single-database setup uses
|
|
15678
|
+
* `"default"`, and a monorepo with several schemas gives each one its
|
|
15679
|
+
* own value.
|
|
15674
15680
|
*/
|
|
15675
15681
|
scope: external_exports.string(),
|
|
15676
15682
|
/**
|
|
15677
|
-
* The table or
|
|
15678
|
-
* the source states one this reader could not
|
|
15679
|
-
* pairs with nothing, rather than with
|
|
15680
|
-
* happens to spell.
|
|
15683
|
+
* The table, bucket, collection, or index, as the source declares
|
|
15684
|
+
* it, or null when the source states one this reader could not
|
|
15685
|
+
* settle. A null container pairs with nothing, rather than with
|
|
15686
|
+
* whatever its source text happens to spell.
|
|
15687
|
+
*/
|
|
15688
|
+
container: external_exports.string().nullable(),
|
|
15689
|
+
/**
|
|
15690
|
+
* A secondary way into the container, a DynamoDB global secondary
|
|
15691
|
+
* index or an Elasticsearch alias, each with its own key fields.
|
|
15692
|
+
* Null means the container's own primary way in. A query through an
|
|
15693
|
+
* index and a query through the table are different accesses, so
|
|
15694
|
+
* they pair separately.
|
|
15681
15695
|
*/
|
|
15682
|
-
|
|
15696
|
+
accessPath: external_exports.string().nullable()
|
|
15683
15697
|
});
|
|
15684
|
-
var
|
|
15685
|
-
name: "storage
|
|
15686
|
-
schema:
|
|
15698
|
+
var storageSemantics = defineBoundarySemantics({
|
|
15699
|
+
name: "storage",
|
|
15700
|
+
schema: StorageSemanticsSchema,
|
|
15687
15701
|
behavior: {
|
|
15688
|
-
/** A query returns rows, not a status and a body. */
|
|
15702
|
+
/** A query returns rows or items, not a status and a body. */
|
|
15689
15703
|
exchangesHttpResponses: false,
|
|
15690
15704
|
reportsUnpairedItself: false,
|
|
15691
15705
|
identityKey: () => null
|
|
@@ -15697,7 +15711,7 @@ var SemanticsSchema = external_exports.discriminatedUnion("name", [
|
|
|
15697
15711
|
graphqlResolverSemantics.schema,
|
|
15698
15712
|
graphqlOperationSemantics.schema,
|
|
15699
15713
|
runtimeConfigSemantics.schema,
|
|
15700
|
-
|
|
15714
|
+
storageSemantics.schema,
|
|
15701
15715
|
messageBusSemantics.schema
|
|
15702
15716
|
]);
|
|
15703
15717
|
var DEFINITIONS = [
|
|
@@ -15706,7 +15720,7 @@ var DEFINITIONS = [
|
|
|
15706
15720
|
graphqlResolverSemantics,
|
|
15707
15721
|
graphqlOperationSemantics,
|
|
15708
15722
|
runtimeConfigSemantics,
|
|
15709
|
-
|
|
15723
|
+
storageSemantics,
|
|
15710
15724
|
messageBusSemantics
|
|
15711
15725
|
];
|
|
15712
15726
|
var BY_NAME = new Map(
|
|
@@ -15846,14 +15860,15 @@ function namedOrNull(value, field2) {
|
|
|
15846
15860
|
}
|
|
15847
15861
|
return value;
|
|
15848
15862
|
}
|
|
15849
|
-
function
|
|
15863
|
+
function storageBinding(opts) {
|
|
15850
15864
|
return {
|
|
15851
|
-
transport: opts.storageSystem,
|
|
15865
|
+
transport: opts.transport ?? opts.storageSystem,
|
|
15852
15866
|
semantics: {
|
|
15853
|
-
name: "storage
|
|
15867
|
+
name: "storage",
|
|
15854
15868
|
storageSystem: opts.storageSystem,
|
|
15855
15869
|
scope: opts.scope,
|
|
15856
|
-
|
|
15870
|
+
container: namedOrNull(opts.container, "storage container"),
|
|
15871
|
+
accessPath: opts.accessPath ?? null
|
|
15857
15872
|
},
|
|
15858
15873
|
recognition: opts.recognition
|
|
15859
15874
|
};
|
|
@@ -15954,11 +15969,11 @@ function storageEffects(calls, options) {
|
|
|
15954
15969
|
const picked = selectorOf(call);
|
|
15955
15970
|
effects.push({
|
|
15956
15971
|
type: "interaction",
|
|
15957
|
-
binding:
|
|
15972
|
+
binding: storageBinding({
|
|
15958
15973
|
recognition: "ruby-storage",
|
|
15959
15974
|
storageSystem: pattern.storageSystem,
|
|
15960
15975
|
scope: pattern.baseClasses[0] ?? "",
|
|
15961
|
-
|
|
15976
|
+
container: constant.text
|
|
15962
15977
|
}),
|
|
15963
15978
|
callee: call.text,
|
|
15964
15979
|
interaction: {
|
package/dist/index.js
CHANGED
|
@@ -15245,7 +15245,7 @@ function date4(params) {
|
|
|
15245
15245
|
// ../../../node_modules/zod/v4/classic/external.js
|
|
15246
15246
|
config(en_default());
|
|
15247
15247
|
|
|
15248
|
-
// ../../ir-core/dist/chunk-
|
|
15248
|
+
// ../../ir-core/dist/chunk-TEXSN75M.js
|
|
15249
15249
|
function gqlIdentityKey(typeName, fieldName) {
|
|
15250
15250
|
return `gql:${typeName}.${fieldName}`;
|
|
15251
15251
|
}
|
|
@@ -15614,27 +15614,41 @@ var runtimeConfigSemantics = defineBoundarySemantics({
|
|
|
15614
15614
|
identityKey: () => null
|
|
15615
15615
|
}
|
|
15616
15616
|
});
|
|
15617
|
-
var
|
|
15618
|
-
name: external_exports.literal("storage
|
|
15619
|
-
storageSystem: external_exports.enum(["postgres", "mysql", "sqlite"]),
|
|
15617
|
+
var StorageSemanticsSchema = external_exports.object({
|
|
15618
|
+
name: external_exports.literal("storage"),
|
|
15620
15619
|
/**
|
|
15621
|
-
*
|
|
15622
|
-
*
|
|
15620
|
+
* Which store this is: postgres, mysql, sqlite, dynamodb. Two
|
|
15621
|
+
* products' containers can share a name, so this keeps them apart,
|
|
15622
|
+
* and it is what a finding message calls the store.
|
|
15623
|
+
*/
|
|
15624
|
+
storageSystem: external_exports.string(),
|
|
15625
|
+
/**
|
|
15626
|
+
* The ORM, schema, or deployment scope. A single-database setup uses
|
|
15627
|
+
* `"default"`, and a monorepo with several schemas gives each one its
|
|
15628
|
+
* own value.
|
|
15623
15629
|
*/
|
|
15624
15630
|
scope: external_exports.string(),
|
|
15625
15631
|
/**
|
|
15626
|
-
* The table or
|
|
15627
|
-
* the source states one this reader could not
|
|
15628
|
-
* pairs with nothing, rather than with
|
|
15629
|
-
* happens to spell.
|
|
15632
|
+
* The table, bucket, collection, or index, as the source declares
|
|
15633
|
+
* it, or null when the source states one this reader could not
|
|
15634
|
+
* settle. A null container pairs with nothing, rather than with
|
|
15635
|
+
* whatever its source text happens to spell.
|
|
15636
|
+
*/
|
|
15637
|
+
container: external_exports.string().nullable(),
|
|
15638
|
+
/**
|
|
15639
|
+
* A secondary way into the container, a DynamoDB global secondary
|
|
15640
|
+
* index or an Elasticsearch alias, each with its own key fields.
|
|
15641
|
+
* Null means the container's own primary way in. A query through an
|
|
15642
|
+
* index and a query through the table are different accesses, so
|
|
15643
|
+
* they pair separately.
|
|
15630
15644
|
*/
|
|
15631
|
-
|
|
15645
|
+
accessPath: external_exports.string().nullable()
|
|
15632
15646
|
});
|
|
15633
|
-
var
|
|
15634
|
-
name: "storage
|
|
15635
|
-
schema:
|
|
15647
|
+
var storageSemantics = defineBoundarySemantics({
|
|
15648
|
+
name: "storage",
|
|
15649
|
+
schema: StorageSemanticsSchema,
|
|
15636
15650
|
behavior: {
|
|
15637
|
-
/** A query returns rows, not a status and a body. */
|
|
15651
|
+
/** A query returns rows or items, not a status and a body. */
|
|
15638
15652
|
exchangesHttpResponses: false,
|
|
15639
15653
|
reportsUnpairedItself: false,
|
|
15640
15654
|
identityKey: () => null
|
|
@@ -15646,7 +15660,7 @@ var SemanticsSchema = external_exports.discriminatedUnion("name", [
|
|
|
15646
15660
|
graphqlResolverSemantics.schema,
|
|
15647
15661
|
graphqlOperationSemantics.schema,
|
|
15648
15662
|
runtimeConfigSemantics.schema,
|
|
15649
|
-
|
|
15663
|
+
storageSemantics.schema,
|
|
15650
15664
|
messageBusSemantics.schema
|
|
15651
15665
|
]);
|
|
15652
15666
|
var DEFINITIONS = [
|
|
@@ -15655,7 +15669,7 @@ var DEFINITIONS = [
|
|
|
15655
15669
|
graphqlResolverSemantics,
|
|
15656
15670
|
graphqlOperationSemantics,
|
|
15657
15671
|
runtimeConfigSemantics,
|
|
15658
|
-
|
|
15672
|
+
storageSemantics,
|
|
15659
15673
|
messageBusSemantics
|
|
15660
15674
|
];
|
|
15661
15675
|
var BY_NAME = new Map(
|
|
@@ -15795,14 +15809,15 @@ function namedOrNull(value, field2) {
|
|
|
15795
15809
|
}
|
|
15796
15810
|
return value;
|
|
15797
15811
|
}
|
|
15798
|
-
function
|
|
15812
|
+
function storageBinding(opts) {
|
|
15799
15813
|
return {
|
|
15800
|
-
transport: opts.storageSystem,
|
|
15814
|
+
transport: opts.transport ?? opts.storageSystem,
|
|
15801
15815
|
semantics: {
|
|
15802
|
-
name: "storage
|
|
15816
|
+
name: "storage",
|
|
15803
15817
|
storageSystem: opts.storageSystem,
|
|
15804
15818
|
scope: opts.scope,
|
|
15805
|
-
|
|
15819
|
+
container: namedOrNull(opts.container, "storage container"),
|
|
15820
|
+
accessPath: opts.accessPath ?? null
|
|
15806
15821
|
},
|
|
15807
15822
|
recognition: opts.recognition
|
|
15808
15823
|
};
|
|
@@ -15903,11 +15918,11 @@ function storageEffects(calls, options) {
|
|
|
15903
15918
|
const picked = selectorOf(call);
|
|
15904
15919
|
effects.push({
|
|
15905
15920
|
type: "interaction",
|
|
15906
|
-
binding:
|
|
15921
|
+
binding: storageBinding({
|
|
15907
15922
|
recognition: "ruby-storage",
|
|
15908
15923
|
storageSystem: pattern.storageSystem,
|
|
15909
15924
|
scope: pattern.baseClasses[0] ?? "",
|
|
15910
|
-
|
|
15925
|
+
container: constant.text
|
|
15911
15926
|
}),
|
|
15912
15927
|
callee: call.text,
|
|
15913
15928
|
interaction: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suss/adapter-ruby",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ruby language adapter for suss, parsing source with tree-sitter (WASM), resolving constant nesting with a lexical binder, and emitting raw extractions for the suss pipeline.",
|
|
6
6
|
"keywords": [
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"typecheck": "tsc --noEmit"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@suss/behavioral-ir": "0.
|
|
51
|
-
"@suss/datalog": "0.
|
|
52
|
-
"@suss/extractor": "0.
|
|
50
|
+
"@suss/behavioral-ir": "0.7.0",
|
|
51
|
+
"@suss/datalog": "0.7.0",
|
|
52
|
+
"@suss/extractor": "0.7.0",
|
|
53
53
|
"web-tree-sitter": "^0.26.11"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|