cocina-models 0.115.0 → 0.117.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d9e710c098333b0b95f15f1f624a365b7067e3ef638d48e7f04bcbc72f2b038
4
- data.tar.gz: 2bcb210b1f563ddc1916fe8a718f326184c75eb077f3c931372083ad1bf8c179
3
+ metadata.gz: 2609452ca800a04e29d10e8412138a6a537fb1808b5555b25948962651754037
4
+ data.tar.gz: 355fb239388276b6f13e514b97a2b7cf30a9467674a59dfab0b87ce159b187f1
5
5
  SHA512:
6
- metadata.gz: ec2b6a2e5a92c4cc712e09e2edc23a6975c37eb71f13133e1400d21d999880f1a79a8962624bdd339cffaa08e88a0fffd4395c716b1ed49360c5045a43edf666
7
- data.tar.gz: 69f0f8869d2536477765b033c39387ef4693f648e50747fa49e15d1cb1cd27be7bc830dec49bf5beb06a1a04472ddf78750201c60c31d002f47006ed72c99751
6
+ metadata.gz: 9b5b6684d1dc9c477a8fe215b9a7312fc20160861413b9bc1bdf3a3e09f97e7e129549996831b4d04609074e0bfa7fbdba05c3f2621dc71e5d814d2fd91ba71e
7
+ data.tar.gz: 9874c91f51dd30606fe87d9d848f51adc3ff91785d4d7b604bab667ea9869357453c9a76d7aff54332f4bf676c1c2836ec3677d864777130bbf50fcd49423a1f
data/.circleci/config.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  version: 2.1
2
2
  orbs:
3
- ruby-rails: sul-dlss/ruby-rails@4.6.0
3
+ ruby-rails: sul-dlss/ruby-rails@4.7.0
4
4
  workflows:
5
5
  build:
6
6
  jobs:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocina-models (0.115.0)
4
+ cocina-models (0.117.0)
5
5
  activesupport
6
6
  deprecation
7
7
  dry-struct (~> 1.0)
@@ -19,7 +19,7 @@ PATH
19
19
  GEM
20
20
  remote: https://rubygems.org/
21
21
  specs:
22
- activesupport (8.1.2)
22
+ activesupport (8.1.3)
23
23
  base64
24
24
  bigdecimal
25
25
  concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -32,12 +32,10 @@ GEM
32
32
  securerandom (>= 0.3)
33
33
  tzinfo (~> 2.0, >= 2.0.5)
34
34
  uri (>= 0.13.1)
35
- addressable (2.8.9)
36
- public_suffix (>= 2.0.2, < 8.0)
37
35
  ast (2.4.3)
38
36
  attr_extras (7.1.0)
39
37
  base64 (0.3.0)
40
- bigdecimal (4.0.1)
38
+ bigdecimal (4.1.2)
41
39
  concurrent-ruby (1.3.6)
42
40
  connection_pool (3.0.2)
43
41
  date (3.5.1)
@@ -75,21 +73,18 @@ GEM
75
73
  activesupport (>= 3.0, < 9.0)
76
74
  equivalent-xml (0.6.0)
77
75
  nokogiri (>= 1.4.3)
78
- erb (6.0.2)
76
+ erb (6.0.4)
79
77
  hana (1.3.7)
80
78
  i18n (1.14.8)
81
79
  concurrent-ruby (~> 1.0)
82
80
  ice_nine (0.11.2)
83
81
  io-console (0.8.2)
84
- irb (1.17.0)
82
+ irb (1.18.0)
85
83
  pp (>= 0.6.0)
86
84
  prism (>= 1.3.0)
87
85
  rdoc (>= 4.0.0)
88
86
  reline (>= 0.4.2)
89
- json (2.19.1)
90
- json-schema (6.2.0)
91
- addressable (~> 2.8)
92
- bigdecimal (>= 3.1, < 5)
87
+ json (2.19.4)
93
88
  json_schemer (2.5.0)
94
89
  bigdecimal
95
90
  hana (~> 1.3)
@@ -100,19 +95,17 @@ GEM
100
95
  language_server-protocol (3.17.0.5)
101
96
  lint_roller (1.1.0)
102
97
  logger (1.7.0)
103
- mcp (0.8.0)
104
- json-schema (>= 4.1)
105
- minitest (6.0.2)
98
+ minitest (6.0.5)
106
99
  drb (~> 2.0)
107
100
  prism (~> 1.5)
108
- multi_json (1.19.1)
109
- nokogiri (1.19.1-arm64-darwin)
101
+ multi_json (1.20.1)
102
+ nokogiri (1.19.2-arm64-darwin)
110
103
  racc (~> 1.4)
111
- nokogiri (1.19.1-x86_64-linux-gnu)
104
+ nokogiri (1.19.2-x86_64-linux-gnu)
112
105
  racc (~> 1.4)
113
106
  optimist (3.2.1)
114
- parallel (1.27.0)
115
- parser (3.3.10.2)
107
+ parallel (2.1.0)
108
+ parser (3.3.11.1)
116
109
  ast (~> 2.4.1)
117
110
  racc
118
111
  patience_diff (1.2.0)
@@ -124,15 +117,14 @@ GEM
124
117
  psych (5.3.1)
125
118
  date
126
119
  stringio
127
- public_suffix (7.0.5)
128
120
  racc (1.8.1)
129
121
  rainbow (3.1.1)
130
- rake (13.3.1)
122
+ rake (13.4.2)
131
123
  rdoc (7.2.0)
132
124
  erb
133
125
  psych (>= 4.0.0)
134
126
  tsort
135
- regexp_parser (2.11.3)
127
+ regexp_parser (2.12.0)
136
128
  reline (0.6.3)
137
129
  io-console (~> 0.5)
138
130
  rspec (3.13.2)
@@ -150,12 +142,11 @@ GEM
150
142
  rspec-support (3.13.7)
151
143
  rspec_junit_formatter (0.6.0)
152
144
  rspec-core (>= 2, < 4, != 2.12.0)
153
- rubocop (1.85.1)
145
+ rubocop (1.86.1)
154
146
  json (~> 2.3)
155
147
  language_server-protocol (~> 3.17.0.2)
156
148
  lint_roller (~> 1.1.0)
157
- mcp (~> 0.6)
158
- parallel (~> 1.10)
149
+ parallel (>= 1.10)
159
150
  parser (>= 3.3.0.2)
160
151
  rainbow (>= 2.2.2, < 4.0)
161
152
  regexp_parser (>= 2.9.3, < 3.0)
@@ -213,13 +204,12 @@ DEPENDENCIES
213
204
  simplecov
214
205
 
215
206
  CHECKSUMS
216
- activesupport (8.1.2) sha256=88842578ccd0d40f658289b0e8c842acfe9af751afee2e0744a7873f50b6fdae
217
- addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485
207
+ activesupport (8.1.3) sha256=21a5e0dfbd4c3ddd9e1317ec6a4d782fa226e7867dc70b0743acda81a1dca20e
218
208
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
219
209
  attr_extras (7.1.0) sha256=d96fc9a9dd5d85ba2d37762440a816f840093959ae26bb90da994c2d9f1fc827
220
210
  base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
221
- bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
222
- cocina-models (0.115.0)
211
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
212
+ cocina-models (0.117.0)
223
213
  concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
224
214
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
225
215
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
@@ -235,38 +225,35 @@ CHECKSUMS
235
225
  dry-types (1.9.1) sha256=baebeecdb9f8395d6c9d227b62011279440943e3ef2468fe8ccc1ba11467f178
236
226
  edtf (3.2.0) sha256=a15a0ee274e49c8047a3ebb5d61d793ba44f7f8ffbf0595392c467e3ea8d2447
237
227
  equivalent-xml (0.6.0) sha256=8919761efa848ad0846369ff8be1f646b17e5061698c4867b09829000cc3f487
238
- erb (6.0.2) sha256=9fe6264d44f79422c87490a1558479bd0e7dad4dd0e317656e67ea3077b5242b
228
+ erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
239
229
  hana (1.3.7) sha256=5425db42d651fea08859811c29d20446f16af196308162894db208cac5ce9b0d
240
230
  i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
241
231
  ice_nine (0.11.2) sha256=5d506a7d2723d5592dc121b9928e4931742730131f22a1a37649df1c1e2e63db
242
232
  io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
243
- irb (1.17.0) sha256=168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae
244
- json (2.19.1) sha256=dd94fdc59e48bff85913829a32350b3148156bc4fd2a95a2568a78b11344082d
245
- json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666
233
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
234
+ json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
246
235
  json_schemer (2.5.0) sha256=2f01fb4cce721a4e08dd068fc2030cffd0702a7f333f1ea2be6e8991f00ae396
247
236
  jsonpath (1.1.5) sha256=29f70467193a2dc93ab864ec3d3326d54267961acc623f487340eb9c34931dbe
248
237
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
249
238
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
250
239
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
251
- mcp (0.8.0) sha256=ae8bd146bb8e168852866fd26f805f52744f6326afb3211e073f78a95e0c34fb
252
- minitest (6.0.2) sha256=db6e57956f6ecc6134683b4c87467d6dd792323c7f0eea7b93f66bd284adbc3d
253
- multi_json (1.19.1) sha256=7aefeff8f2c854bf739931a238e4aea64592845e0c0395c8a7d2eea7fdd631b7
254
- nokogiri (1.19.1-arm64-darwin) sha256=dfe2d337e6700eac47290407c289d56bcf85805d128c1b5a6434ddb79731cb9e
255
- nokogiri (1.19.1-x86_64-linux-gnu) sha256=1a4902842a186b4f901078e692d12257678e6133858d0566152fe29cdb98456a
240
+ minitest (6.0.5) sha256=f007d7246bf4feea549502842cd7c6aba8851cdc9c90ba06de9c476c0d01155c
241
+ multi_json (1.20.1) sha256=2f3934e805cc45ef91b551a1f89d0e9191abd06a5e04a2ef09a6a036c452ca6d
242
+ nokogiri (1.19.2-arm64-darwin) sha256=58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205
243
+ nokogiri (1.19.2-x86_64-linux-gnu) sha256=fa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f
256
244
  optimist (3.2.1) sha256=8cf8a0fd69f3aa24ab48885d3a666717c27bc3d9edd6e976e18b9d771e72e34e
257
- parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
258
- parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
245
+ parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
246
+ parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
259
247
  patience_diff (1.2.0) sha256=f492094486af02fff4a80070fa6b4d0ebbcf4d42fb38bba29d095eef43f6822c
260
248
  pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
261
249
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
262
250
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
263
251
  psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
264
- public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
265
252
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
266
253
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
267
- rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
254
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
268
255
  rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
269
- regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
256
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
270
257
  reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
271
258
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
272
259
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
@@ -274,7 +261,7 @@ CHECKSUMS
274
261
  rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
275
262
  rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
276
263
  rspec_junit_formatter (0.6.0) sha256=40dde674e6ae4e6cc0ff560da25497677e34fefd2338cc467a8972f602b62b15
277
- rubocop (1.85.1) sha256=3dbcf9e961baa4c376eeeb2a03913dca5e3987033b04d38fa538aa1e7406cc77
264
+ rubocop (1.86.1) sha256=44415f3f01d01a21e01132248d2fd0867572475b566ca188a0a42133a08d4531
278
265
  rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
279
266
  rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
280
267
  rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
@@ -295,4 +282,4 @@ CHECKSUMS
295
282
  zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
296
283
 
297
284
  BUNDLED WITH
298
- 4.0.8
285
+ 4.0.10
@@ -3,6 +3,6 @@
3
3
  module Cocina
4
4
  module Models
5
5
  # A barcode
6
- Barcode = BusinessBarcode | LaneMedicalBarcode | CatkeyBarcode | StandardBarcode
6
+ Barcode = BusinessBarcode | LaneMedicalBarcode | CatkeyBarcode | StandardBarcode | CaliforniaHistoricalSocietyBarcode
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- # The barcode associated with a business library DRO object, prefixed with 2050
5
+ # The barcode associated with a business library DRO, prefixed with 2050
6
6
  # example: 20503740296
7
7
  BusinessBarcode = Types::String.constrained(format: /^2050[0-9]{7}$/)
8
8
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ # The barcode associated with a CHS DRO, prefixed with 405
6
+ # example: 405000111956
7
+ CaliforniaHistoricalSocietyBarcode = Types::String.constrained(format: /^405[0-9]+$/)
8
+ end
9
+ end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- # The barcode associated with a DRO object based on catkey, prefixed with a catkey
6
- # followed by a hyphen
5
+ # The barcode associated with a DRO based on catkey, prefixed with a catkey followed
6
+ # by a hyphen
7
7
  # example: 6772719-1001
8
8
  CatkeyBarcode = Types::String.constrained(format: /^[0-9]+-[0-9]+$/)
9
9
  end
@@ -23,6 +23,9 @@ module Cocina
23
23
  attribute :note, Types::Strict::Array.of(DescriptiveValue).default([].freeze)
24
24
  # URL or other pointer to the location of the contributor information.
25
25
  attribute? :valueAt, Types::Strict::String
26
+ # For multiple representations of information about the same contributor (e.g. in different
27
+ # languages).
28
+ attribute :parallelContributor, Types::Strict::Array.of(DescriptiveParallelContributor).default([].freeze)
26
29
  end
27
30
  end
28
31
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ # DEPRECATED
6
+ # Value model for multiple representations of information about the same contributor
7
+ # (e.g. in different languages).
8
+ class DescriptiveParallelContributor < Struct
9
+ # Names associated with a contributor.
10
+ attribute :name, Types::Strict::Array.of(DescriptiveValue).default([].freeze)
11
+ # Entity type of the contributor (person, organization, etc.). See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md
12
+ # for valid types.
13
+ attribute? :type, Types::Strict::String
14
+ # Status of the contributor relative to other parallel contributors (e.g. the primary
15
+ # author among a group of contributors).
16
+ attribute? :status, Types::Strict::String
17
+ # Relationships of the contributor to the resource or to an event in its history.
18
+ attribute :role, Types::Strict::Array.of(DescriptiveValue).default([].freeze)
19
+ # Identifiers and URIs associated with the contributor entity.
20
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).default([].freeze)
21
+ # Other information associated with the contributor.
22
+ attribute :note, Types::Strict::Array.of(DescriptiveValue).default([].freeze)
23
+ # URL or other pointer to the location of the contributor information.
24
+ attribute? :valueAt, Types::Strict::String
25
+ # Language of the descriptive element value
26
+ attribute? :valueLanguage, DescriptiveValueLanguage.optional
27
+ end
28
+ end
29
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- # The barcode associated with a Lane Medical Library DRO object, prefixed with 245
5
+ # The barcode associated with a Lane Medical Library DRO, prefixed with 245
6
6
  # example: 24503259768
7
7
  LaneMedicalBarcode = Types::String.constrained(format: /^245[0-9]{8}$/)
8
8
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- # The standard barcode associated with a DRO object, prefixed with 36105
5
+ # The standard barcode associated with a DRO, prefixed with 36105
6
6
  # example: 36105010362304
7
7
  StandardBarcode = Types::String.constrained(format: /^36105[0-9]{9}$/)
8
8
  end
@@ -73,7 +73,7 @@ module Cocina
73
73
  # Some part of the path are ignored for the purpose of matching.
74
74
  def clean_path(path)
75
75
  new_path = path.reject do |part|
76
- part.is_a?(Integer) || %i[parallelValue parallelEvent].include?(part.to_sym)
76
+ part.is_a?(Integer) || %i[parallelValue parallelContributor parallelEvent].include?(part.to_sym)
77
77
  end.map(&:to_sym)
78
78
  # This needs to happen after parallelValue is removed
79
79
  # to handle structuredValue > parallelValue > structuredValue
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.115.0'
5
+ VERSION = '0.117.0'
6
6
  end
7
7
  end
data/schema.json CHANGED
@@ -234,15 +234,24 @@
234
234
  },
235
235
  {
236
236
  "$ref": "#/$defs/StandardBarcode"
237
+ },
238
+ {
239
+ "$ref": "#/$defs/CaliforniaHistoricalSocietyBarcode"
237
240
  }
238
241
  ]
239
242
  },
240
243
  "BusinessBarcode": {
241
- "description": "The barcode associated with a business library DRO object, prefixed with 2050",
244
+ "description": "The barcode associated with a business library DRO, prefixed with 2050",
242
245
  "type": "string",
243
246
  "pattern": "^2050[0-9]{7}$",
244
247
  "example": "20503740296"
245
248
  },
249
+ "CaliforniaHistoricalSocietyBarcode": {
250
+ "description": "The barcode associated with a CHS DRO, prefixed with 405",
251
+ "type": "string",
252
+ "pattern": "^405[0-9]{9}$",
253
+ "example": "405000111956"
254
+ },
246
255
  "CatalogLink": {
247
256
  "description": "A linkage between an object and a catalog record",
248
257
  "oneOf": [
@@ -255,7 +264,7 @@
255
264
  ]
256
265
  },
257
266
  "CatkeyBarcode": {
258
- "description": "The barcode associated with a DRO object based on catkey, prefixed with a catkey followed by a hyphen",
267
+ "description": "The barcode associated with a DRO based on catkey, prefixed with a catkey followed by a hyphen",
259
268
  "type": "string",
260
269
  "pattern": "^[0-9]+-[0-9]+$",
261
270
  "example": "6772719-1001"
@@ -444,6 +453,13 @@
444
453
  "valueAt": {
445
454
  "description": "URL or other pointer to the location of the contributor information.",
446
455
  "type": "string"
456
+ },
457
+ "parallelContributor": {
458
+ "description": "For multiple representations of information about the same contributor (e.g. in different languages).",
459
+ "type": "array",
460
+ "items": {
461
+ "$ref": "#/$defs/DescriptiveParallelContributor"
462
+ }
447
463
  }
448
464
  }
449
465
  },
@@ -896,6 +912,56 @@
896
912
  }
897
913
  }
898
914
  },
915
+ "DescriptiveParallelContributor": {
916
+ "description": "Value model for multiple representations of information about the same contributor (e.g. in different languages).",
917
+ "deprecated": true,
918
+ "type": "object",
919
+ "properties": {
920
+ "name": {
921
+ "description": "Names associated with a contributor.",
922
+ "type": "array",
923
+ "items": {
924
+ "$ref": "#/$defs/DescriptiveValue"
925
+ }
926
+ },
927
+ "type": {
928
+ "description": "Entity type of the contributor (person, organization, etc.). See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md for valid types.",
929
+ "type": "string"
930
+ },
931
+ "status": {
932
+ "description": "Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).",
933
+ "type": "string"
934
+ },
935
+ "role": {
936
+ "description": "Relationships of the contributor to the resource or to an event in its history.",
937
+ "type": "array",
938
+ "items": {
939
+ "$ref": "#/$defs/DescriptiveValue"
940
+ }
941
+ },
942
+ "identifier": {
943
+ "description": "Identifiers and URIs associated with the contributor entity.",
944
+ "type": "array",
945
+ "items": {
946
+ "$ref": "#/$defs/DescriptiveValue"
947
+ }
948
+ },
949
+ "note": {
950
+ "description": "Other information associated with the contributor.",
951
+ "type": "array",
952
+ "items": {
953
+ "$ref": "#/$defs/DescriptiveValue"
954
+ }
955
+ },
956
+ "valueAt": {
957
+ "description": "URL or other pointer to the location of the contributor information.",
958
+ "type": "string"
959
+ },
960
+ "valueLanguage": {
961
+ "$ref": "#/$defs/DescriptiveValueLanguage"
962
+ }
963
+ }
964
+ },
899
965
  "DescriptiveParallelEvent": {
900
966
  "description": "Value model for multiple representations of information about the same event (e.g. in different languages).",
901
967
  "type": "object",
@@ -1123,7 +1189,8 @@
1123
1189
  },
1124
1190
  "filename": {
1125
1191
  "description": "Filename for a file. Can be same as label.",
1126
- "type": "string"
1192
+ "type": "string",
1193
+ "not": { "pattern": "[\\n\\r]" }
1127
1194
  },
1128
1195
  "size": {
1129
1196
  "description": "Size of the File (binary) in bytes.",
@@ -1356,7 +1423,7 @@
1356
1423
  "required": ["sourceId"]
1357
1424
  },
1358
1425
  "LaneMedicalBarcode": {
1359
- "description": "The barcode associated with a Lane Medical Library DRO object, prefixed with 245",
1426
+ "description": "The barcode associated with a Lane Medical Library DRO, prefixed with 245",
1360
1427
  "type": "string",
1361
1428
  "pattern": "^245[0-9]{8}$",
1362
1429
  "example": "24503259768"
@@ -2062,7 +2129,8 @@
2062
2129
  "type": "string"
2063
2130
  },
2064
2131
  "filename": {
2065
- "type": "string"
2132
+ "type": "string",
2133
+ "not": { "pattern": "[\\n\\r]" }
2066
2134
  },
2067
2135
  "size": {
2068
2136
  "type": "integer"
@@ -2267,7 +2335,7 @@
2267
2335
  }
2268
2336
  },
2269
2337
  "StandardBarcode": {
2270
- "description": "The standard barcode associated with a DRO object, prefixed with 36105",
2338
+ "description": "The standard barcode associated with a DRO, prefixed with 36105",
2271
2339
  "type": ["string", "null"],
2272
2340
  "pattern": "^36105[0-9]{9}$",
2273
2341
  "example": "36105010362304"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocina-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.115.0
4
+ version: 0.117.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-03-19 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activesupport
@@ -351,6 +351,7 @@ files:
351
351
  - lib/cocina/models/builders/rights_description_builder.rb
352
352
  - lib/cocina/models/builders/title_builder.rb
353
353
  - lib/cocina/models/business_barcode.rb
354
+ - lib/cocina/models/california_historical_society_barcode.rb
354
355
  - lib/cocina/models/catalog_link.rb
355
356
  - lib/cocina/models/catkey_barcode.rb
356
357
  - lib/cocina/models/checkable.rb
@@ -372,6 +373,7 @@ files:
372
373
  - lib/cocina/models/descriptive_basic_value.rb
373
374
  - lib/cocina/models/descriptive_geographic_metadata.rb
374
375
  - lib/cocina/models/descriptive_grouped_value.rb
376
+ - lib/cocina/models/descriptive_parallel_contributor.rb
375
377
  - lib/cocina/models/descriptive_parallel_event.rb
376
378
  - lib/cocina/models/descriptive_parallel_value.rb
377
379
  - lib/cocina/models/descriptive_structured_value.rb
@@ -530,7 +532,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
530
532
  - !ruby/object:Gem::Version
531
533
  version: '0'
532
534
  requirements: []
533
- rubygems_version: 3.6.2
535
+ rubygems_version: 4.0.7
534
536
  specification_version: 4
535
537
  summary: Data models for the SDR
536
538
  test_files: []