checkoff 0.255.0 → 0.257.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.
data/sig/checkoff.rbs CHANGED
@@ -77,7 +77,7 @@ module Checkoff
77
77
  def run: () -> void
78
78
 
79
79
  # _@param_ `project_arg`
80
- def project_arg_to_name: (String project_arg) -> (Symbol | String)
80
+ def project_arg_to_name: ((Symbol | String) project_arg) -> (Symbol | String)
81
81
 
82
82
  # Returns the value of attribute from_workspace_name.
83
83
  attr_reader from_workspace_name: untyped
@@ -288,7 +288,7 @@ module Checkoff
288
288
  ) -> ::Enumerable[Asana::Resources::Task]
289
289
 
290
290
  # sord warn - Asana::Resources::Tag wasn't able to be resolved to a constant in this project
291
- # @sg-ignore
291
+ # @sg-ignore nil check above is not flow-sensitive
292
292
  #
293
293
  # _@param_ `workspace_name`
294
294
  #
@@ -444,7 +444,8 @@ module Checkoff
444
444
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
445
445
  # Add a task
446
446
  #
447
- # @sg-ignore
447
+ # @sg-ignore @asana_task.create return type could not be inferred — calling a class method
448
+ # through a Class<T>-typed ivar is a known Solargraph dispatch limitation
448
449
  #
449
450
  # _@param_ `name`
450
451
  #
@@ -464,7 +465,6 @@ module Checkoff
464
465
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
465
466
  # True if any of the task's dependencies are marked incomplete
466
467
  #
467
- # @sg-ignore
468
468
  # Include 'dependencies.gid' in extra_fields of task passed in.
469
469
  #
470
470
  # _@param_ `task`
@@ -544,7 +544,9 @@ module Checkoff
544
544
 
545
545
  def projects: () -> Checkoff::Projects
546
546
 
547
- # @sg-ignore
547
+ # @sg-ignore @config.fetch return type could not be inferred — @config is intentionally
548
+ # dual-typed [Hash, EnvFallbackConfigLoader] throughout this codebase; Solargraph can't
549
+ # unify #fetch across that union
548
550
  def default_assignee_gid: () -> String
549
551
 
550
552
  def logger: () -> ::Logger
@@ -564,7 +566,7 @@ module Checkoff
564
566
  # _@param_ `message`
565
567
  def finer: (?Object? message) -> void
566
568
 
567
- # @sg-ignore
569
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
568
570
  def log_level: () -> Symbol
569
571
 
570
572
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
@@ -654,7 +656,7 @@ module Checkoff
654
656
  # _@param_ `message`
655
657
  def finer: (?Object? message) -> void
656
658
 
657
- # @sg-ignore
659
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
658
660
  def log_level: () -> Symbol
659
661
 
660
662
  attr_reader projects: Checkoff::Projects
@@ -746,7 +748,7 @@ module Checkoff
746
748
  # _@param_ `period_name`
747
749
  #
748
750
  # _@param_ `args`
749
- def compound_in_period?: ((Date | Time)? date_or_time, Symbol period_name, *Object args) -> bool
751
+ def compound_in_period?: ((Date | Time)? date_or_time, Symbol period_name, *::Array[Object] args) -> bool
750
752
 
751
753
  def self.run: () -> void
752
754
 
@@ -767,7 +769,7 @@ module Checkoff
767
769
  # _@param_ `message`
768
770
  def finer: (?Object? message) -> void
769
771
 
770
- # @sg-ignore
772
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
771
773
  def log_level: () -> Symbol
772
774
  end
773
775
 
@@ -900,7 +902,7 @@ module Checkoff
900
902
  def project: ((String | Symbol) workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> Asana::Resources::Project?
901
903
 
902
904
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
903
- # @sg-ignore
905
+ # @sg-ignore nil check above is not flow-sensitive
904
906
  #
905
907
  # _@param_ `workspace_name`
906
908
  #
@@ -1002,7 +1004,7 @@ module Checkoff
1002
1004
  # _@param_ `message`
1003
1005
  def finer: (?Object? message) -> void
1004
1006
 
1005
- # @sg-ignore
1007
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
1006
1008
  def log_level: () -> Symbol
1007
1009
 
1008
1010
  attr_reader timing: Checkoff::Timing
@@ -1074,7 +1076,7 @@ module Checkoff
1074
1076
  #
1075
1077
  # _@param_ `extra_fields`
1076
1078
  def tasks_by_section: (
1077
- String workspace_name,
1079
+ (String | Symbol) workspace_name,
1078
1080
  (String | Symbol) project_name,
1079
1081
  ?only_uncompleted: bool,
1080
1082
  ?extra_fields: ::Array[String]
@@ -1225,7 +1227,7 @@ module Checkoff
1225
1227
  # _@param_ `message`
1226
1228
  def finer: (?Object? message) -> void
1227
1229
 
1228
- # @sg-ignore
1230
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
1229
1231
  def log_level: () -> Symbol
1230
1232
 
1231
1233
  attr_reader projects: Checkoff::Projects
@@ -1292,10 +1294,10 @@ module Checkoff
1292
1294
  # expected to move to the new-style way of representing sections
1293
1295
  # as memberships with a separate API within a task.
1294
1296
  #
1295
- # @sg-ignore
1297
+ # @sg-ignore Checkoff::Subtasks#subtask_section? return type could not be inferred
1296
1298
  #
1297
1299
  # _@param_ `subtask`
1298
- def subtask_section?: (Asana::Resources::Task subtask) -> bool
1300
+ def subtask_section?: (Asana::Resources::Task subtask) -> bool?
1299
1301
 
1300
1302
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1301
1303
  # _@param_ `current_section`
@@ -1483,7 +1485,7 @@ module Checkoff
1483
1485
  ) -> void
1484
1486
 
1485
1487
  # sord warn - Asana::Resources::Portfolio wasn't able to be resolved to a constant in this project
1486
- # @sg-ignore
1488
+ # @sg-ignore nil check above is not flow-sensitive
1487
1489
  #
1488
1490
  # _@param_ `workspace_name`
1489
1491
  #
@@ -1555,7 +1557,8 @@ module Checkoff
1555
1557
  def workspace: ((String | Symbol) workspace_name) -> Asana::Resources::Workspace?
1556
1558
 
1557
1559
  # sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
1558
- # @sg-ignore
1560
+ # @sg-ignore @asana_workspace.find_by_id return type could not be inferred — calling a
1561
+ # class method through a Class<T>-typed ivar is a known Solargraph dispatch limitation
1559
1562
  def default_workspace: () -> Asana::Resources::Workspace
1560
1563
 
1561
1564
  # sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
@@ -1564,7 +1567,9 @@ module Checkoff
1564
1567
  # _@param_ `workspace_name`
1565
1568
  def workspace_or_raise: ((String | Symbol) workspace_name) -> Asana::Resources::Workspace
1566
1569
 
1567
- # @sg-ignore
1570
+ # @sg-ignore @config.fetch return type could not be inferred — @config is intentionally
1571
+ # dual-typed [Hash, EnvFallbackConfigLoader] throughout this codebase; Solargraph can't
1572
+ # unify #fetch across that union
1568
1573
  def default_workspace_gid: () -> String
1569
1574
 
1570
1575
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
@@ -1596,6 +1601,7 @@ module Checkoff
1596
1601
  ?client: Asana::Client
1597
1602
  ) -> void
1598
1603
 
1604
+ # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1599
1605
  # sord warn - Asana::Resources::Attachment wasn't able to be resolved to a constant in this project
1600
1606
  # _@param_ `url`
1601
1607
  #
@@ -1608,13 +1614,12 @@ module Checkoff
1608
1614
  # _@param_ `verify_mode` — - e.g., OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER
1609
1615
  def create_attachment_from_url!: (
1610
1616
  String url,
1611
- Asana::Resources::Resource resource,
1617
+ Asana::Resources::Task resource,
1612
1618
  ?attachment_name: String?,
1613
1619
  ?verify_mode: Integer,
1614
1620
  ?just_the_url: bool
1615
1621
  ) -> Asana::Resources::Attachment
1616
1622
 
1617
- # sord warn - URI wasn't able to be resolved to a constant in this project
1618
1623
  # Writes contents of URL to a temporary file with the same
1619
1624
  # extension as the URL using Net::HTTP, raising an exception if
1620
1625
  # not succesful
@@ -1622,12 +1627,13 @@ module Checkoff
1622
1627
  # _@param_ `uri`
1623
1628
  #
1624
1629
  # _@param_ `verify_mode` — - e.g., OpenSSL::SSL::VERIFY_NONE,OpenSSL::SSL::VERIFY_PEER
1625
- def download_uri: (URI uri, ?verify_mode: Integer) -> Object
1630
+ def download_uri: (URI::Generic uri, ?verify_mode: Integer) -> Object
1626
1631
 
1627
1632
  # sord duck - #read_body looks like a duck type, replacing with untyped
1628
1633
  # _@param_ `response`
1629
1634
  def write_tempfile_from_response: (untyped response) -> void
1630
1635
 
1636
+ # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1631
1637
  # sord warn - Asana::Resources::Attachment wasn't able to be resolved to a constant in this project
1632
1638
  # _@param_ `url`
1633
1639
  #
@@ -1638,18 +1644,19 @@ module Checkoff
1638
1644
  # _@param_ `verify_mode` — - e.g., OpenSSL::SSL::VERIFY_NONE,OpenSSL::SSL::VERIFY_PEER
1639
1645
  def create_attachment_from_downloaded_url!: (
1640
1646
  String url,
1641
- Asana::Resources::Resource resource,
1647
+ Asana::Resources::Task resource,
1642
1648
  attachment_name: String?,
1643
1649
  ?verify_mode: Integer
1644
1650
  ) -> Asana::Resources::Attachment
1645
1651
 
1652
+ # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1646
1653
  # sord warn - Asana::Resources::Attachment wasn't able to be resolved to a constant in this project
1647
1654
  # _@param_ `url`
1648
1655
  #
1649
1656
  # _@param_ `resource`
1650
1657
  #
1651
1658
  # _@param_ `attachment_name`
1652
- def create_attachment_from_url_alone!: (String url, Asana::Resources::Resource resource, attachment_name: String?) -> Asana::Resources::Attachment
1659
+ def create_attachment_from_url_alone!: (String url, Asana::Resources::Task resource, attachment_name: String?) -> Asana::Resources::Attachment
1653
1660
 
1654
1661
  # _@param_ `filename`
1655
1662
  def content_type_from_filename: (String filename) -> String?
@@ -1679,7 +1686,7 @@ module Checkoff
1679
1686
  # _@param_ `message`
1680
1687
  def finer: (?Object? message) -> void
1681
1688
 
1682
- # @sg-ignore
1689
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
1683
1690
  def log_level: () -> Symbol
1684
1691
 
1685
1692
  attr_reader workspaces: Checkoff::Workspaces
@@ -1714,7 +1721,7 @@ module Checkoff
1714
1721
  ) -> void
1715
1722
 
1716
1723
  # sord warn - Asana::Resources::CustomField wasn't able to be resolved to a constant in this project
1717
- # @sg-ignore
1724
+ # @sg-ignore nil check above is not flow-sensitive
1718
1725
  #
1719
1726
  # _@param_ `workspace_name`
1720
1727
  #
@@ -1736,7 +1743,9 @@ module Checkoff
1736
1743
 
1737
1744
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1738
1745
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1739
- # @sg-ignore
1746
+ # @sg-ignore Declared return type Array<String> does not match inferred type Array,Array<Array> —
1747
+ # fixing cleanly needs binding enum_value.fetch('name') to a typed local; leaving for a
1748
+ # follow-up code PR to keep this one annotation-only.
1740
1749
  #
1741
1750
  # _@param_ `resource`
1742
1751
  #
@@ -1752,7 +1761,7 @@ module Checkoff
1752
1761
 
1753
1762
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1754
1763
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1755
- # @sg-ignore
1764
+ # @sg-ignore nil check above is not flow-sensitive
1756
1765
  #
1757
1766
  # _@param_ `resource`
1758
1767
  #
@@ -1761,14 +1770,16 @@ module Checkoff
1761
1770
 
1762
1771
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1763
1772
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1764
- # @sg-ignore
1773
+ # @sg-ignore nil check above is not flow-sensitive
1765
1774
  #
1766
1775
  # _@param_ `resource`
1767
1776
  #
1768
1777
  # _@param_ `custom_field_gid`
1769
1778
  def resource_custom_field_by_gid_or_raise: ((Asana::Resources::Project | Asana::Resources::Task) resource, String custom_field_gid) -> ::Hash[untyped, untyped]
1770
1779
 
1771
- # @sg-ignore
1780
+ # @sg-ignore Declared return type Array<Hash> does not match inferred type Array,Hash,Array<Hash> —
1781
+ # fixing cleanly needs restructuring the case/when to bind each branch to a typed local; leaving
1782
+ # for a follow-up code PR to keep this one annotation-only.
1772
1783
  #
1773
1784
  # _@param_ `custom_field`
1774
1785
  def resource_custom_field_enum_values: (::Hash[String, (::Hash[untyped, untyped] | ::Array[::Hash[untyped, untyped]])] custom_field) -> ::Array[::Hash[untyped, untyped]]
@@ -1898,10 +1909,11 @@ module Checkoff
1898
1909
  # _@param_ `extra_fields`
1899
1910
  def iterated_raw_task_search: (::Hash[String, Object] api_params, workspace_gid: String, extra_fields: ::Array[String]) -> ::Enumerable[Asana::Resources::Task]
1900
1911
 
1901
- # @sg-ignore
1912
+ # @sg-ignore return type could not be inferred — bracket access on a Hash{Symbol=>undefined}
1913
+ # local doesn't narrow even with a T.cast on the return expression
1902
1914
  #
1903
1915
  # _@param_ `extra_fields`
1904
- def calculate_api_options: (::Array[String] extra_fields) -> ::Hash[Symbol, untyped]
1916
+ def calculate_api_options: (::Array[String] extra_fields) -> ::Hash[Symbol, ::Array[String]]
1905
1917
 
1906
1918
  def self.run: () -> void
1907
1919
 
@@ -1922,7 +1934,7 @@ module Checkoff
1922
1934
  # _@param_ `message`
1923
1935
  def finer: (?Object? message) -> void
1924
1936
 
1925
- # @sg-ignore
1937
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
1926
1938
  def log_level: () -> Symbol
1927
1939
 
1928
1940
  attr_reader task_selectors: Checkoff::TaskSelectors
@@ -2146,13 +2158,15 @@ module Checkoff
2146
2158
  ) -> void
2147
2159
 
2148
2160
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2149
- # @sg-ignore
2161
+ # @sg-ignore return type could not be inferred — #to_time called via &. on a Date|Time
2162
+ # union receiver
2150
2163
  #
2151
2164
  # _@param_ `task`
2152
2165
  def start_time: (Asana::Resources::Task task) -> Time?
2153
2166
 
2154
2167
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2155
- # @sg-ignore
2168
+ # @sg-ignore return type could not be inferred — #to_time called via &. on a Date|Time
2169
+ # union receiver
2156
2170
  #
2157
2171
  # _@param_ `task`
2158
2172
  def due_time: (Asana::Resources::Task task) -> Time?
@@ -2186,7 +2200,8 @@ module Checkoff
2186
2200
  class ThreadLocal
2187
2201
  # sord warn - T wasn't able to be resolved to a constant in this project
2188
2202
  # sord warn - T wasn't able to be resolved to a constant in this project
2189
- # @sg-ignore
2203
+ # @sg-ignore return type could not be inferred — Solargraph's generic/yield-return
2204
+ # inference gap for #with_thread_local_variable
2190
2205
  #
2191
2206
  # _@param_ `name`
2192
2207
  #
@@ -2204,7 +2219,7 @@ module Checkoff
2204
2219
  # _@param_ `yaml_filename`
2205
2220
  def initialize: (::Hash[Symbol, untyped] config, Symbol sym, String yaml_filename) -> void
2206
2221
 
2207
- # @sg-ignore
2222
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
2208
2223
  #
2209
2224
  # _@param_ `key`
2210
2225
  def []: (Symbol key) -> Object
@@ -2302,7 +2317,7 @@ module Checkoff
2302
2317
  def convert_custom_field_params: (::Hash[String, ::Array[String]] custom_field_params) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2303
2318
 
2304
2319
  # _@param_ `url_params`
2305
- def partition_url_params: (::Hash[String, String] url_params) -> [::Hash[String, ::Array[String]], ::Hash[String, ::Array[String]], ::Hash[String, ::Array[String]]]
2320
+ def partition_url_params: (::Hash[String, ::Array[String]] url_params) -> [::Hash[String, ::Array[String]], ::Hash[String, ::Array[String]], ::Hash[String, ::Array[String]]]
2306
2321
  end
2307
2322
 
2308
2323
  # Merge task selectors and search API arguments
@@ -2310,10 +2325,8 @@ module Checkoff
2310
2325
  # _@param_ `args`
2311
2326
  def self.merge_args: (*::Array[::Hash[String, String]] args) -> ::Hash[String, String]
2312
2327
 
2313
- # @sg-ignore
2314
- #
2315
2328
  # _@param_ `task_selectors`
2316
- def self.merge_task_selectors: (*::Array[(Symbol | ::Array[untyped])] task_selectors) -> [Symbol, ::Array[untyped], ::Array[untyped]]
2329
+ def self.merge_task_selectors: (*::Array[(Symbol | ::Array[untyped])] task_selectors) -> (Symbol | ::Array[untyped] | [Symbol, ::Array[untyped], ::Array[untyped]])
2317
2330
  end
2318
2331
 
2319
2332
  # https://developers.asana.com/docs/search-tasks-in-a-workspace
@@ -2471,6 +2484,9 @@ module Checkoff
2471
2484
  # _@param_ `verb`
2472
2485
  def convert_from_projects_and_sections: (String verb) -> ::Array[String]
2473
2486
 
2487
+ # @sg-ignore abstract method always raises; declared type documents the override contract, not this body
2488
+ def convert: () -> ::Array[String]
2489
+
2474
2490
  attr_reader key: String
2475
2491
 
2476
2492
  attr_reader values: ::Array[String]
@@ -2663,7 +2679,7 @@ module Checkoff
2663
2679
  # _@param_ `message`
2664
2680
  def finer: (?Object? message) -> void
2665
2681
 
2666
- # @sg-ignore
2682
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
2667
2683
  def log_level: () -> Symbol
2668
2684
  end
2669
2685
 
@@ -2723,10 +2739,8 @@ module Checkoff
2723
2739
  # _@param_ `resource_type`
2724
2740
  def enrich_gid: (String gid, ?resource_type: String?) -> [untyped, untyped, untyped, untyped]
2725
2741
 
2726
- # @sg-ignore
2727
- #
2728
2742
  # _@param_ `filter`
2729
- def enrich_filter_parent_gid!: (::Hash[String, (String | ::Array[String])] filter) -> String?
2743
+ def enrich_filter_parent_gid!: (::Hash[String, (String | ::Array[String])] filter) -> void
2730
2744
 
2731
2745
  # _@param_ `filter`
2732
2746
  def enrich_filter_resource!: (::Hash[String, (String | ::Array[String])] filter) -> void
@@ -2734,13 +2748,11 @@ module Checkoff
2734
2748
  # _@param_ `filter`
2735
2749
  def enrich_filter_section!: (::Hash[String, (String | ::Array[String])] filter) -> void
2736
2750
 
2737
- # sord warn - "'resource'" does not appear to be a type
2738
2751
  # _@param_ `asana_event`
2739
- def enrich_event_parent!: (::Hash[untyped, ::Hash[untyped, untyped]] asana_event) -> void
2752
+ def enrich_event_parent!: (::Hash[untyped, untyped] asana_event) -> void
2740
2753
 
2741
- # sord warn - "'resource'" does not appear to be a type
2742
2754
  # _@param_ `asana_event`
2743
- def enrich_event_resource!: (::Hash[untyped, ::Hash[untyped, untyped]] asana_event) -> void
2755
+ def enrich_event_resource!: (::Hash[untyped, untyped] asana_event) -> void
2744
2756
 
2745
2757
  def logger: () -> ::Logger
2746
2758
 
@@ -2759,7 +2771,7 @@ module Checkoff
2759
2771
  # _@param_ `message`
2760
2772
  def finer: (?Object? message) -> void
2761
2773
 
2762
- # @sg-ignore
2774
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
2763
2775
  def log_level: () -> Symbol
2764
2776
 
2765
2777
  attr_reader projects: Checkoff::Projects
@@ -3036,7 +3048,8 @@ module Checkoff
3036
3048
  def evaluate_arg?: (Integer _index) -> bool
3037
3049
 
3038
3050
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3039
- # @sg-ignore
3051
+ # @sg-ignore Checkoff::SelectorClasses::Task::MilestonePFunctionEvaluator#evaluate
3052
+ # return type could not be inferred
3040
3053
  #
3041
3054
  # _@param_ `task`
3042
3055
  def evaluate: (Asana::Resources::Task task) -> bool
@@ -3267,7 +3280,8 @@ module Checkoff
3267
3280
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3268
3281
  # sord warn - boolish is probably not a type, but using anyway
3269
3282
  # sord warn - boolish wasn't able to be resolved to a constant in this project
3270
- # @sg-ignore
3283
+ # @sg-ignore Checkoff::SelectorClasses::Common::NameStartsWithPFunctionEvaluator#evaluate
3284
+ # return type could not be inferred
3271
3285
  #
3272
3286
  # _@param_ `resource`
3273
3287
  #
@@ -3297,6 +3311,8 @@ module Checkoff
3297
3311
  def initialize: (selector: ([Symbol, ::Array[untyped]] | String), custom_fields: Checkoff::CustomFields, **::Hash[untyped, untyped] _kwargs) -> void
3298
3312
 
3299
3313
  attr_reader selector: ([Symbol, ::Array[untyped]] | String)
3314
+
3315
+ attr_reader custom_fields: Checkoff::CustomFields
3300
3316
  end
3301
3317
  end
3302
3318
 
@@ -3376,6 +3392,12 @@ module Checkoff
3376
3392
  ) -> void
3377
3393
 
3378
3394
  attr_reader selector: [Symbol, ::Array[untyped]]
3395
+
3396
+ attr_reader projects: Checkoff::Projects
3397
+
3398
+ attr_reader portfolios: Checkoff::Portfolios
3399
+
3400
+ attr_reader workspaces: Checkoff::Workspaces
3379
3401
  end
3380
3402
  end
3381
3403
 
@@ -3428,6 +3450,8 @@ module Checkoff
3428
3450
 
3429
3451
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
3430
3452
  attr_reader client: Asana::Client
3453
+
3454
+ attr_reader sections: Checkoff::Sections
3431
3455
  end
3432
3456
  end
3433
3457
 
@@ -3438,11 +3462,11 @@ module Checkoff
3438
3462
  # _@param_ `_index`
3439
3463
  def evaluate_arg?: (Integer _index) -> bool
3440
3464
 
3441
- # @sg-ignore
3465
+ # @sg-ignore return type could not be inferred — abstract method body is only `raise`
3442
3466
  def matches?: () -> bool
3443
3467
 
3444
3468
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3445
- # @sg-ignore
3469
+ # @sg-ignore return type could not be inferred — abstract method body is only `raise`
3446
3470
  #
3447
3471
  # _@param_ `_task`
3448
3472
  #
@@ -3454,6 +3478,19 @@ module Checkoff
3454
3478
  # _@param_ `fn_name`
3455
3479
  def fn?: (Object object, Symbol fn_name) -> bool
3456
3480
 
3481
+ # Concrete subclasses each declare their own initialize with their
3482
+ # specific keyword args (and set @selector themselves before calling
3483
+ # super()); this signature exists only so Solargraph can resolve
3484
+ # `evaluator_class.new(selector:, **kwargs)` call sites that hold a
3485
+ # `Class<FunctionEvaluator>` reference rather than a concrete subclass -
3486
+ # deliberately a no-op so a bare `super()` call from those subclasses
3487
+ # can't clobber the @selector they already set.
3488
+ #
3489
+ # _@param_ `selector`
3490
+ #
3491
+ # _@param_ `_kwargs`
3492
+ def initialize: (?selector: (Symbol | ::Array[untyped] | String)?, **::Hash[untyped, untyped] _kwargs) -> void
3493
+
3457
3494
  def logger: () -> ::Logger
3458
3495
 
3459
3496
  # _@param_ `message`
@@ -3471,7 +3508,7 @@ module Checkoff
3471
3508
  # _@param_ `message`
3472
3509
  def finer: (?Object? message) -> void
3473
3510
 
3474
- # @sg-ignore
3511
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
3475
3512
  def log_level: () -> Symbol
3476
3513
  end
3477
3514
  end
@@ -3616,7 +3653,7 @@ module Logging
3616
3653
  # _@param_ `message`
3617
3654
  def finer: (?Object? message) -> void
3618
3655
 
3619
- # @sg-ignore
3656
+ # @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
3620
3657
  def log_level: () -> Symbol
3621
3658
  end
3622
3659
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.255.0
4
+ version: 0.257.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-11 00:00:00.000000000 Z
11
+ date: 2026-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport