@suss/adapter-ruby 0.5.11 → 0.6.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 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-WKR5SU4N.js
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 StorageRelationalSemanticsSchema = external_exports.object({
15669
- name: external_exports.literal("storage-relational"),
15670
- storageSystem: external_exports.enum(["postgres", "mysql", "sqlite"]),
15668
+ var StorageSemanticsSchema = external_exports.object({
15669
+ name: external_exports.literal("storage"),
15671
15670
  /**
15672
- * The ORM or driver scope. A single-database setup uses `"default"`,
15673
- * and a monorepo with several schemas gives each one its own value.
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 model name as the schema declares it, or null when
15678
- * the source states one this reader could not settle. A null table
15679
- * pairs with nothing, rather than with whatever its source text
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
- table: external_exports.string().nullable()
15696
+ accessPath: external_exports.string().nullable()
15683
15697
  });
15684
- var storageRelationalSemantics = defineBoundarySemantics({
15685
- name: "storage-relational",
15686
- schema: StorageRelationalSemanticsSchema,
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
- storageRelationalSemantics.schema,
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
- storageRelationalSemantics,
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 storageRelationalBinding(opts) {
15863
+ function storageBinding(opts) {
15850
15864
  return {
15851
- transport: opts.storageSystem,
15865
+ transport: opts.transport ?? opts.storageSystem,
15852
15866
  semantics: {
15853
- name: "storage-relational",
15867
+ name: "storage",
15854
15868
  storageSystem: opts.storageSystem,
15855
15869
  scope: opts.scope,
15856
- table: namedOrNull(opts.table, "storage table")
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: storageRelationalBinding({
15972
+ binding: storageBinding({
15958
15973
  recognition: "ruby-storage",
15959
15974
  storageSystem: pattern.storageSystem,
15960
15975
  scope: pattern.baseClasses[0] ?? "",
15961
- table: constant.text
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-WKR5SU4N.js
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 StorageRelationalSemanticsSchema = external_exports.object({
15618
- name: external_exports.literal("storage-relational"),
15619
- storageSystem: external_exports.enum(["postgres", "mysql", "sqlite"]),
15617
+ var StorageSemanticsSchema = external_exports.object({
15618
+ name: external_exports.literal("storage"),
15620
15619
  /**
15621
- * The ORM or driver scope. A single-database setup uses `"default"`,
15622
- * and a monorepo with several schemas gives each one its own value.
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 model name as the schema declares it, or null when
15627
- * the source states one this reader could not settle. A null table
15628
- * pairs with nothing, rather than with whatever its source text
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
- table: external_exports.string().nullable()
15645
+ accessPath: external_exports.string().nullable()
15632
15646
  });
15633
- var storageRelationalSemantics = defineBoundarySemantics({
15634
- name: "storage-relational",
15635
- schema: StorageRelationalSemanticsSchema,
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
- storageRelationalSemantics.schema,
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
- storageRelationalSemantics,
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 storageRelationalBinding(opts) {
15812
+ function storageBinding(opts) {
15799
15813
  return {
15800
- transport: opts.storageSystem,
15814
+ transport: opts.transport ?? opts.storageSystem,
15801
15815
  semantics: {
15802
- name: "storage-relational",
15816
+ name: "storage",
15803
15817
  storageSystem: opts.storageSystem,
15804
15818
  scope: opts.scope,
15805
- table: namedOrNull(opts.table, "storage table")
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: storageRelationalBinding({
15921
+ binding: storageBinding({
15907
15922
  recognition: "ruby-storage",
15908
15923
  storageSystem: pattern.storageSystem,
15909
15924
  scope: pattern.baseClasses[0] ?? "",
15910
- table: constant.text
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.5.11",
3
+ "version": "0.6.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.5.11",
51
- "@suss/datalog": "0.5.11",
52
- "@suss/extractor": "0.5.11",
50
+ "@suss/behavioral-ir": "0.6.0",
51
+ "@suss/datalog": "0.6.0",
52
+ "@suss/extractor": "0.6.0",
53
53
  "web-tree-sitter": "^0.26.11"
54
54
  },
55
55
  "devDependencies": {