fimo 0.6.0 → 0.7.0-experimental.1

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/cli/index.js CHANGED
@@ -19657,7 +19657,8 @@ async function throwPermissionDenied(cfg, response) {
19657
19657
  }
19658
19658
  async function fimoFetch(url2, init) {
19659
19659
  const headers = new Headers(init.headers);
19660
- if (!headers.has(CLI_VERSION_HEADER)) {
19660
+ const skipsVersionCheck = process.env.FIMO_SKIP_VERSION_CHECK === "1" || process.argv[2] === "git-credential";
19661
+ if (!headers.has(CLI_VERSION_HEADER) && !skipsVersionCheck) {
19661
19662
  headers.set(CLI_VERSION_HEADER, getCliVersion());
19662
19663
  }
19663
19664
  const response = await fetch(url2, { ...init, headers });
@@ -20636,8 +20637,8 @@ var init_api = __esm({
20636
20637
  const query = params ? `?${new URLSearchParams(params).toString()}` : "";
20637
20638
  return this.request(this.tenantPath(projectId, `/entries/${typeName}${query}`));
20638
20639
  }
20639
- async getEntry(projectId, typeName, id, params) {
20640
- const query = params ? `?${new URLSearchParams(params).toString()}` : "";
20640
+ async getEntry(projectId, typeName, id, locale) {
20641
+ const query = locale ? `?${new URLSearchParams({ locale }).toString()}` : "";
20641
20642
  const body = await this.request(
20642
20643
  this.tenantPath(projectId, `/entries/${typeName}/${id}${query}`)
20643
20644
  );
@@ -20650,17 +20651,23 @@ var init_api = __esm({
20650
20651
  });
20651
20652
  return body.data;
20652
20653
  }
20653
- async updateEntry(projectId, typeName, id, data2) {
20654
- const body = await this.request(this.tenantPath(projectId, `/entries/${typeName}/${id}`), {
20655
- method: "PUT",
20656
- body: JSON.stringify(data2)
20657
- });
20654
+ async updateEntry(projectId, typeName, id, locale, data2) {
20655
+ const query = locale ? `?${new URLSearchParams({ locale }).toString()}` : "";
20656
+ const body = await this.request(
20657
+ this.tenantPath(projectId, `/entries/${typeName}/${id}${query}`),
20658
+ {
20659
+ method: "PUT",
20660
+ body: JSON.stringify(data2)
20661
+ }
20662
+ );
20658
20663
  return body.data;
20659
20664
  }
20660
- async deleteEntry(projectId, typeName, id) {
20661
- const body = await this.request(this.tenantPath(projectId, `/entries/${typeName}/${id}`), {
20662
- method: "DELETE"
20663
- });
20665
+ async deleteEntry(projectId, typeName, id, locale) {
20666
+ const query = locale ? `?${new URLSearchParams({ locale }).toString()}` : "";
20667
+ const body = await this.request(
20668
+ this.tenantPath(projectId, `/entries/${typeName}/${id}${query}`),
20669
+ { method: "DELETE" }
20670
+ );
20664
20671
  return body.data;
20665
20672
  }
20666
20673
  // ── Tenant API: Assets ──
@@ -42019,6 +42026,7 @@ var init_common = __esm({
42019
42026
  ]);
42020
42027
  RESERVED_CONTENT_FIELD_NAMES = [
42021
42028
  "id",
42029
+ "entryId",
42022
42030
  "documentId",
42023
42031
  "slug",
42024
42032
  "locale",
@@ -42164,9 +42172,24 @@ function referenceDocumentId(value) {
42164
42172
  if (typeof value === "string") {
42165
42173
  return value;
42166
42174
  }
42167
- if (value && typeof value === "object" && "documentId" in value) {
42168
- const documentId = value.documentId;
42169
- return typeof documentId === "string" ? documentId : null;
42175
+ if (value && typeof value === "object") {
42176
+ const reference = value;
42177
+ const hasId = Object.prototype.hasOwnProperty.call(reference, "id");
42178
+ const hasDocumentId = Object.prototype.hasOwnProperty.call(reference, "documentId");
42179
+ const id = reference.id;
42180
+ const documentId = reference.documentId;
42181
+ if (hasId && typeof id !== "string" || hasDocumentId && typeof documentId !== "string") {
42182
+ return null;
42183
+ }
42184
+ if (typeof id === "string" && typeof documentId === "string" && id !== documentId) {
42185
+ return null;
42186
+ }
42187
+ if (typeof id === "string") {
42188
+ return id;
42189
+ }
42190
+ if (typeof documentId === "string") {
42191
+ return documentId;
42192
+ }
42170
42193
  }
42171
42194
  return null;
42172
42195
  }
@@ -42198,12 +42221,30 @@ var init_references = __esm({
42198
42221
  init_zod();
42199
42222
  __name(referenceDocumentId, "referenceDocumentId");
42200
42223
  __name(toReferenceValue, "toReferenceValue");
42201
- ReferenceValueSchema = external_exports.preprocess((value) => toReferenceValue(value) ?? value, external_exports.object({
42224
+ ReferenceValueSchema = external_exports.preprocess((value) => {
42225
+ const reference = toReferenceValue(value);
42226
+ if (reference) {
42227
+ return reference;
42228
+ }
42229
+ if (value && typeof value === "object" && ("id" in value || "documentId" in value)) {
42230
+ return null;
42231
+ }
42232
+ return value;
42233
+ }, external_exports.object({
42202
42234
  documentId: external_exports.uuid()
42203
42235
  }));
42204
42236
  __name(referenceContentType, "referenceContentType");
42205
42237
  __name(toPolymorphicReferenceValue, "toPolymorphicReferenceValue");
42206
- PolymorphicReferenceValueSchema = external_exports.preprocess((value) => toPolymorphicReferenceValue(value) ?? value, external_exports.object({
42238
+ PolymorphicReferenceValueSchema = external_exports.preprocess((value) => {
42239
+ const reference = toPolymorphicReferenceValue(value);
42240
+ if (reference) {
42241
+ return reference;
42242
+ }
42243
+ if (value && typeof value === "object" && ("id" in value || "documentId" in value)) {
42244
+ return null;
42245
+ }
42246
+ return value;
42247
+ }, external_exports.object({
42207
42248
  contentType: external_exports.string().min(1),
42208
42249
  documentId: external_exports.uuid()
42209
42250
  }));
@@ -42241,7 +42282,19 @@ var init_audit_log = __esm({
42241
42282
  // Cutover (M06)
42242
42283
  "cutover_step",
42243
42284
  // Composition (M18)
42244
- "agent_delegate"
42285
+ "agent_delegate",
42286
+ // Staff operations
42287
+ "ops_access_change",
42288
+ "ops_service_token_change",
42289
+ "ops_project_inspect",
42290
+ "ops_project_snapshot",
42291
+ "ops_customer_registry_change",
42292
+ "ops_investigation_change",
42293
+ "ops_known_issue_change",
42294
+ "ops_validation_record",
42295
+ "ops_notification_preview",
42296
+ "ops_notification_approve",
42297
+ "ops_notification_send"
42245
42298
  ];
42246
42299
  AuditActionSchema = external_exports.enum(AUDIT_ACTIONS);
42247
42300
  AUDIT_OUTCOMES = [
@@ -42259,6 +42312,174 @@ var init_audit_log = __esm({
42259
42312
  }
42260
42313
  });
42261
42314
 
42315
+ // ../../packages/api-contracts/dist/esm/types/ops.js
42316
+ var OPS_BACKEND_PROFILES, OpsBackendProfileSchema, OPS_PERMISSIONS, OpsPermissionSchema, OPS_PERMISSION_PRESETS, OPS_SERVICE_PERMISSION_PRESETS, OpsAccessGrantInputSchema, OpsServiceTokenInputSchema, OpsCustomerProjectInputSchema, OPS_INVESTIGATION_STATUSES, OpsInvestigationStatusSchema, OpsInvestigationCreateInputSchema, OpsInvestigationUpdateInputSchema, OPS_KNOWN_ISSUE_STATUSES, OpsKnownIssueStatusSchema, OpsKnownIssueCreateInputSchema, OpsKnownIssueUpdateInputSchema, OPS_VALIDATION_OUTCOMES, OpsValidationOutcomeSchema, OpsValidationRunInputSchema, OpsNotificationPreviewInputSchema;
42317
+ var init_ops = __esm({
42318
+ "../../packages/api-contracts/dist/esm/types/ops.js"() {
42319
+ "use strict";
42320
+ init_zod();
42321
+ OPS_BACKEND_PROFILES = [
42322
+ "local",
42323
+ "staging",
42324
+ "prod"
42325
+ ];
42326
+ OpsBackendProfileSchema = external_exports.enum(OPS_BACKEND_PROFILES);
42327
+ OPS_PERMISSIONS = [
42328
+ "ops:project:read",
42329
+ "ops:project:snapshot",
42330
+ "ops:sentry:read",
42331
+ "ops:logs:read",
42332
+ "ops:support:read",
42333
+ "ops:customers:read",
42334
+ "ops:customers:write",
42335
+ "ops:investigations:read",
42336
+ "ops:investigations:write",
42337
+ "ops:known-issues:read",
42338
+ "ops:known-issues:write",
42339
+ "ops:validations:read",
42340
+ "ops:validations:write",
42341
+ "ops:audit:read",
42342
+ "ops:notification:preview",
42343
+ "ops:notification:approve",
42344
+ "ops:notification:send"
42345
+ ];
42346
+ OpsPermissionSchema = external_exports.enum(OPS_PERMISSIONS);
42347
+ OPS_PERMISSION_PRESETS = {
42348
+ support: [
42349
+ "ops:project:read",
42350
+ "ops:support:read",
42351
+ "ops:customers:read",
42352
+ "ops:investigations:read",
42353
+ "ops:investigations:write",
42354
+ "ops:known-issues:read",
42355
+ "ops:validations:read",
42356
+ "ops:notification:preview"
42357
+ ],
42358
+ engineer: [
42359
+ "ops:project:read",
42360
+ "ops:project:snapshot",
42361
+ "ops:sentry:read",
42362
+ "ops:logs:read",
42363
+ "ops:support:read",
42364
+ "ops:customers:read",
42365
+ "ops:customers:write",
42366
+ "ops:investigations:read",
42367
+ "ops:investigations:write",
42368
+ "ops:known-issues:read",
42369
+ "ops:known-issues:write",
42370
+ "ops:validations:read",
42371
+ "ops:validations:write",
42372
+ "ops:audit:read",
42373
+ "ops:notification:preview"
42374
+ ],
42375
+ full: [
42376
+ ...OPS_PERMISSIONS
42377
+ ]
42378
+ };
42379
+ OPS_SERVICE_PERMISSION_PRESETS = {
42380
+ support: OPS_PERMISSION_PRESETS.support,
42381
+ engineer: OPS_PERMISSION_PRESETS.engineer,
42382
+ full: OPS_PERMISSION_PRESETS.full.filter((permission) => permission !== "ops:notification:approve")
42383
+ };
42384
+ OpsAccessGrantInputSchema = external_exports.object({
42385
+ permissions: external_exports.array(OpsPermissionSchema).min(1),
42386
+ backendProfiles: external_exports.array(OpsBackendProfileSchema).min(1),
42387
+ enabled: external_exports.boolean().default(true)
42388
+ });
42389
+ OpsServiceTokenInputSchema = external_exports.object({
42390
+ name: external_exports.string().trim().min(1).max(120),
42391
+ permissions: external_exports.array(OpsPermissionSchema).min(1),
42392
+ backendProfiles: external_exports.array(OpsBackendProfileSchema).min(1),
42393
+ expiresAt: external_exports.coerce.date()
42394
+ }).refine((input) => !input.permissions.includes("ops:notification:approve"), {
42395
+ path: [
42396
+ "permissions"
42397
+ ],
42398
+ message: "Service credentials cannot approve customer notifications"
42399
+ }).refine((input) => input.expiresAt.getTime() > Date.now(), {
42400
+ path: [
42401
+ "expiresAt"
42402
+ ],
42403
+ message: "Service credential expiry must be in the future"
42404
+ });
42405
+ OpsCustomerProjectInputSchema = external_exports.object({
42406
+ importanceReason: external_exports.string().trim().min(1).max(1e3),
42407
+ ownerUserId: external_exports.string().trim().min(1).nullable().optional(),
42408
+ framework: external_exports.string().trim().max(120).nullable().optional(),
42409
+ packageManager: external_exports.enum([
42410
+ "npm",
42411
+ "pnpm",
42412
+ "yarn",
42413
+ "bun"
42414
+ ]).nullable().optional(),
42415
+ notes: external_exports.string().trim().max(5e3).nullable().optional()
42416
+ });
42417
+ OPS_INVESTIGATION_STATUSES = [
42418
+ "open",
42419
+ "investigating",
42420
+ "awaiting_approval",
42421
+ "resolved",
42422
+ "monitoring",
42423
+ "closed"
42424
+ ];
42425
+ OpsInvestigationStatusSchema = external_exports.enum(OPS_INVESTIGATION_STATUSES);
42426
+ OpsInvestigationCreateInputSchema = external_exports.object({
42427
+ projectId: external_exports.uuid(),
42428
+ title: external_exports.string().trim().min(1).max(240),
42429
+ userReport: external_exports.string().trim().max(1e4).nullable().optional()
42430
+ });
42431
+ OpsInvestigationUpdateInputSchema = external_exports.object({
42432
+ status: OpsInvestigationStatusSchema.optional(),
42433
+ hypothesis: external_exports.string().trim().max(1e4).nullable().optional(),
42434
+ outcome: external_exports.string().trim().max(1e4).nullable().optional(),
42435
+ evidence: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).max(100).optional()
42436
+ }).refine((input) => Object.keys(input).length > 0, "At least one field is required");
42437
+ OPS_KNOWN_ISSUE_STATUSES = [
42438
+ "open",
42439
+ "monitoring",
42440
+ "resolved"
42441
+ ];
42442
+ OpsKnownIssueStatusSchema = external_exports.enum(OPS_KNOWN_ISSUE_STATUSES);
42443
+ OpsKnownIssueCreateInputSchema = external_exports.object({
42444
+ fingerprint: external_exports.string().trim().min(1).max(240),
42445
+ title: external_exports.string().trim().min(1).max(240),
42446
+ description: external_exports.string().trim().min(1).max(1e4),
42447
+ affectedVersions: external_exports.array(external_exports.string().trim().min(1).max(120)).max(100).default([]),
42448
+ detectionQueries: external_exports.array(external_exports.string().trim().min(1).max(2e3)).max(50).default([]),
42449
+ fixedVersion: external_exports.string().trim().min(1).max(64).nullable().optional(),
42450
+ workaround: external_exports.string().trim().min(1).max(1e4).nullable().optional(),
42451
+ status: OpsKnownIssueStatusSchema.default("open")
42452
+ });
42453
+ OpsKnownIssueUpdateInputSchema = OpsKnownIssueCreateInputSchema.omit({
42454
+ fingerprint: true
42455
+ }).extend({
42456
+ affectedVersions: external_exports.array(external_exports.string().trim().min(1).max(120)).max(100),
42457
+ detectionQueries: external_exports.array(external_exports.string().trim().min(1).max(2e3)).max(50),
42458
+ status: OpsKnownIssueStatusSchema
42459
+ }).partial().refine((input) => Object.keys(input).length > 0, "At least one field is required");
42460
+ OPS_VALIDATION_OUTCOMES = [
42461
+ "passed",
42462
+ "failed",
42463
+ "inconclusive"
42464
+ ];
42465
+ OpsValidationOutcomeSchema = external_exports.enum(OPS_VALIDATION_OUTCOMES);
42466
+ OpsValidationRunInputSchema = external_exports.object({
42467
+ changeReference: external_exports.string().trim().min(1).max(500),
42468
+ outcome: OpsValidationOutcomeSchema,
42469
+ summary: external_exports.string().trim().min(1).max(1e4),
42470
+ evidence: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).max(100).default([])
42471
+ });
42472
+ OpsNotificationPreviewInputSchema = external_exports.object({
42473
+ recipientEmail: external_exports.email().optional(),
42474
+ subject: external_exports.string().trim().min(1).max(200).default("An update from Fimo"),
42475
+ message: external_exports.string().trim().min(1).max(5e3),
42476
+ locale: external_exports.string().trim().min(2).max(20),
42477
+ reason: external_exports.string().trim().min(1).max(1e3),
42478
+ acknowledgePolicy: external_exports.literal(true)
42479
+ });
42480
+ }
42481
+ });
42482
+
42262
42483
  // ../../packages/api-contracts/dist/esm/dtos/project.dto.js
42263
42484
  var ProjectDTOSchema, ProjectDTO, ProjectWithPlanDTOSchema, ProjectWithPlanDTO, ProjectSummaryDTOSchema, ProjectSummaryDTO, ProjectUserDTOSchema, ProjectUserDTO, ProjectFileDTOSchema, ProjectFileDTO, ProjectChatMessageRole, ProjectMessageBaseSchema, MessageUserMetadataSchema, QuestionAnswerMetadataSchema, ProjectMessagePublicDTOSchema, ProjectMessagePublicDTO, ProjectMessageDTOSchema, ProjectVersionDTOSchema, ProjectVersionDTO, ProjectDocumentContentDTOSchema, ProjectDocumentContentDTO, ProjectListResponseSchema, ProjectVersionListResponseSchema, ProjectVersionResponseSchema, VersionMutationResponseSchema, ProjectPublicationStateDTOSchema, ProjectPublicationStateDTO, PublicationMutationDTOSchema, PublicationMutationDTO, ProjectPublicationStateResponseSchema, PublicationMutationResponseSchema, ProjectResponseSchema, ProjectWithPlanResponseSchema;
42264
42485
  var init_project_dto = __esm({
@@ -44439,6 +44660,7 @@ var init_content_dto = __esm({
44439
44660
  SchemaDTO = createDTO(SchemaDTOSchema);
44440
44661
  EntryDTOSchema = external_exports.object({
44441
44662
  id: external_exports.string(),
44663
+ entryId: external_exports.string(),
44442
44664
  documentId: external_exports.string(),
44443
44665
  slug: external_exports.string(),
44444
44666
  locale: external_exports.string().optional(),
@@ -45514,6 +45736,7 @@ var init_sandbox_command_dto = __esm({
45514
45736
  "../../packages/api-contracts/dist/esm/dtos/admin/sandbox-command.dto.js"() {
45515
45737
  "use strict";
45516
45738
  init_zod();
45739
+ init_env2();
45517
45740
  init_create_dto();
45518
45741
  init_response();
45519
45742
  SandboxProcessStatusSchema = external_exports.enum([
@@ -45533,6 +45756,7 @@ var init_sandbox_command_dto = __esm({
45533
45756
  ExecuteSandboxCommandRequestDTOSchema = external_exports.object({
45534
45757
  command: external_exports.string().min(1).max(1e4),
45535
45758
  cwd: external_exports.string().optional(),
45759
+ projectEnv: EnvSchema.optional(),
45536
45760
  env: external_exports.record(external_exports.string(), external_exports.string()).optional(),
45537
45761
  name: external_exports.string().optional(),
45538
45762
  waitForCompletion: external_exports.boolean().optional().default(false)
@@ -45579,6 +45803,7 @@ var init_esm = __esm({
45579
45803
  init_realtime();
45580
45804
  init_references();
45581
45805
  init_audit_log();
45806
+ init_ops();
45582
45807
  init_project_dto();
45583
45808
  init_project_env_dto();
45584
45809
  init_project_import_export_dto();
@@ -106355,8 +106580,7 @@ __name(entriesListCommand, "entriesListCommand");
106355
106580
  async function entriesGetCommand(typeName, id, options, cmd) {
106356
106581
  const { ctx, api } = await bootstrapProjectCommand(options, cmd);
106357
106582
  await requireOperation("cms.get", { projectId: ctx.projectId, env: ctx.env });
106358
- const params = options.locale ? { locale: options.locale } : void 0;
106359
- const result = await api.getEntry(ctx.projectId, typeName, id, params);
106583
+ const result = await api.getEntry(ctx.projectId, typeName, id, options.locale);
106360
106584
  ui.result({ command: "entries get", data: result, render: /* @__PURE__ */ __name(() => renderPrettyJson5(result), "render") });
106361
106585
  }
106362
106586
  __name(entriesGetCommand, "entriesGetCommand");
@@ -106374,18 +106598,15 @@ __name(entriesCreateCommand, "entriesCreateCommand");
106374
106598
  async function entriesUpdateCommand(typeName, id, options, cmd) {
106375
106599
  const { ctx, api } = await bootstrapProjectCommand(options, cmd, { refuseReadOnly: true });
106376
106600
  await requireOperation("cms.update", { projectId: ctx.projectId, env: ctx.env });
106377
- const data2 = addDefinedMetadata(parseJsonObject(options.body), {
106378
- locale: options.locale,
106379
- documentId: options.documentId
106380
- });
106381
- const result = await api.updateEntry(ctx.projectId, typeName, id, data2);
106601
+ const data2 = parseJsonObject(options.body);
106602
+ const result = await api.updateEntry(ctx.projectId, typeName, id, options.locale, data2);
106382
106603
  ui.result({ command: "entries update", data: result, render: /* @__PURE__ */ __name(() => renderPrettyJson5(result), "render") });
106383
106604
  }
106384
106605
  __name(entriesUpdateCommand, "entriesUpdateCommand");
106385
106606
  async function entriesDeleteCommand(typeName, id, options, cmd) {
106386
106607
  const { ctx, api } = await bootstrapProjectCommand(options, cmd, { refuseReadOnly: true });
106387
106608
  await requireOperation("cms.delete", { projectId: ctx.projectId, env: ctx.env });
106388
- const result = await api.deleteEntry(ctx.projectId, typeName, id);
106609
+ const result = await api.deleteEntry(ctx.projectId, typeName, id, options.locale);
106389
106610
  ui.result({ command: "entries delete", data: result, render: /* @__PURE__ */ __name(() => renderPrettyJson5(result), "render") });
106390
106611
  }
106391
106612
  __name(entriesDeleteCommand, "entriesDeleteCommand");
@@ -110338,10 +110559,10 @@ schemas2.command("push").description("Push schema JSON files to the API (create
110338
110559
  schemas2.command("delete").description("Delete a schema by type name").argument("<typeName>", "Content type name").option("-C, --cwd <dir>", "Project directory").action(schemaDeleteCommand);
110339
110560
  var entries = program.command("entries").description("Manage content entries");
110340
110561
  entries.command("list").description("List entries of a content type").argument("<typeName>", "Content type name").option("-C, --cwd <dir>", "Project directory").option("--limit <n>", "Max entries to return").option("--offset <n>", "Offset for pagination").option("--search <query>", "Search query").option("--where <json>", `JSON filter object, e.g. '{"featured":true}'`).option("--sort <field>", "Sort field, prefix with - for descending").option("--fields <fields>", "Comma-separated fields to return, e.g. slug,title,excerpt").option("--populate <fields>", "Comma-separated reference fields to populate, e.g. author,contributors").option("--locale <locale>", "Locale to list (default en)").option("--sort-by <field>", "Sort field").option("--sort-direction <dir>", "Sort direction (asc|desc)").action(entriesListCommand);
110341
- entries.command("get").description("Get a single entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").option("--locale <locale>", "Locale to read (default en)").action(entriesGetCommand);
110562
+ entries.command("get").description("Get a single entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").option("--locale <locale>", "Entry locale (defaults to the project locale)").action(entriesGetCommand);
110342
110563
  entries.command("create").description("Create a new entry").argument("<typeName>", "Content type name").option("-C, --cwd <dir>", "Project directory").requiredOption("--body <json>", "Entry JSON body (slug + data)").option("--locale <locale>", "Entry locale (default en)").option("--document-id <id>", "Document ID shared by localized variants").action(entriesCreateCommand);
110343
- entries.command("update").description("Update an existing entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").requiredOption("--body <json>", "Updated entry JSON body").option("--locale <locale>", "Entry locale").option("--document-id <id>", "Document ID shared by localized variants").action(entriesUpdateCommand);
110344
- entries.command("delete").description("Delete an entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").action(entriesDeleteCommand);
110564
+ entries.command("update").description("Update an existing entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").requiredOption("--body <json>", "Updated entry JSON body").option("--locale <locale>", "Entry locale (defaults to the project locale)").action(entriesUpdateCommand);
110565
+ entries.command("delete").description("Delete an entry").argument("<typeName>", "Content type name").argument("<id>", "Entry ID").option("-C, --cwd <dir>", "Project directory").option("--locale <locale>", "Entry locale (defaults to the project locale)").action(entriesDeleteCommand);
110345
110566
  var assets2 = program.command("assets").description("Manage media assets");
110346
110567
  assets2.command("list").description("List assets").option("-C, --cwd <dir>", "Project directory").option("--parent-id <id>", "Filter by parent folder").option(
110347
110568
  "--search <query>",
@@ -1,6 +1,7 @@
1
1
  type FieldData = Record<string, string>;
2
2
  interface RecordData {
3
3
  id: string;
4
+ locale?: string;
4
5
  data: FieldData;
5
6
  visible: boolean;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-data-sources.d.ts","sourceRoot":"","sources":["../../../../src/runtime/content/utils/retrieve-data-sources.ts"],"names":[],"mappings":"AACA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AA8B9D;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,kBAAkB,CAiD/D"}
1
+ {"version":3,"file":"retrieve-data-sources.d.ts","sourceRoot":"","sources":["../../../../src/runtime/content/utils/retrieve-data-sources.ts"],"names":[],"mappings":"AACA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAgD9D;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,kBAAkB,CAwD/D"}
@@ -1,3 +1,19 @@
1
+ function parseRecordIdentity(token) {
2
+ if (!token.startsWith('id:')) {
3
+ return token.includes(':') ? null : { id: token };
4
+ }
5
+ const [format, id, encodedLocale, ...rest] = token.split(':');
6
+ if (format !== 'id' || !id || !encodedLocale || rest.length > 0) {
7
+ return null;
8
+ }
9
+ try {
10
+ const locale = decodeURIComponent(encodedLocale);
11
+ return locale ? { id, locale } : null;
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
1
17
  /**
2
18
  * Checks if an element is genuinely visible to the user within the viewport.
3
19
  * @param el The element to check.
@@ -38,7 +54,13 @@ export function retrieveVisibleDataSources() {
38
54
  const parts = source.split('.');
39
55
  // Expects the format "SchemaName.id.fieldName"
40
56
  if (parts.length === 3) {
41
- const [schemaName, id, fieldName] = parts;
57
+ const [schemaName, identityToken, fieldName] = parts;
58
+ const identity = parseRecordIdentity(identityToken);
59
+ if (!identity) {
60
+ return;
61
+ }
62
+ const { id, locale } = identity;
63
+ const recordKey = JSON.stringify([id, locale ?? null]);
42
64
  // Skip __translations
43
65
  if (schemaName === '__translations') {
44
66
  return;
@@ -48,16 +70,17 @@ export function retrieveVisibleDataSources() {
48
70
  tempGroupedData[schemaName] = {};
49
71
  }
50
72
  // Ensure the record (by ID) exists for this schema
51
- if (!tempGroupedData[schemaName][id]) {
52
- tempGroupedData[schemaName][id] = {
73
+ if (!tempGroupedData[schemaName][recordKey]) {
74
+ tempGroupedData[schemaName][recordKey] = {
53
75
  id: id,
76
+ ...(locale ? { locale } : {}),
54
77
  data: {},
55
78
  visible: isElementVisible(el),
56
79
  };
57
80
  }
58
81
  // Add the field and its text content to the record
59
82
  if (el.textContent) {
60
- tempGroupedData[schemaName][id].data[fieldName] = el.textContent.trim();
83
+ tempGroupedData[schemaName][recordKey].data[fieldName] = el.textContent.trim();
61
84
  }
62
85
  }
63
86
  });
@@ -9,12 +9,12 @@ export interface FimoSource {
9
9
  source: string;
10
10
  }
11
11
  export interface FimoReference {
12
- documentId: string;
12
+ id: string;
13
13
  }
14
14
  /** Polymorphic reference value: the schema names a target set, so every value carries its own type. */
15
15
  export interface FimoPolymorphicReference {
16
16
  contentType: string;
17
- documentId: string;
17
+ id: string;
18
18
  }
19
19
  export declare const FIMO_SOURCE: unique symbol;
20
20
  export declare const FIMO_PARTS: unique symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/runtime/primitives/lib/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/runtime/primitives/lib/primitives.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export type ManyReferenceOps = {
43
43
  export type FilterFor<T> = [T] extends [FimoString | string] ? string | StringOps : [T] extends [FimoBoolean | boolean] ? boolean | BoolOps : [T] extends [FimoDate | Date] ? string | DateOps : [T] extends [number] ? number | NumberOps : [T] extends [FimoPolymorphicReference | null] ? never : [T] extends [FimoPolymorphicReference[]] ? never : [T] extends [FimoReference | null] ? string | null | ReferenceOps : [T] extends [FimoReference[]] ? string | ManyReferenceOps : [T] extends [FimoMedia | FimoMedia[]] ? NullOnlyOps : [T] extends [FimoRichText] ? string | StringOps : NullOnlyOps;
44
44
  type BaseTopLevelWhere = {
45
45
  id?: string | StringOps;
46
+ entryId?: string | StringOps;
46
47
  documentId?: string | StringOps;
47
48
  slug?: string | StringOps;
48
49
  createdAt?: string | DateOps;
@@ -66,9 +67,10 @@ export type Fields<T> = Field<T> | readonly Field<T>[];
66
67
  type SelectedField<TField> = TField extends `__fimo.${string}` ? '__fimo' : TField;
67
68
  type SelectedFields<TFields> = TFields extends readonly (infer K)[] ? SelectedField<K> : SelectedField<TFields>;
68
69
  type ListItem<TValue> = TValue extends readonly (infer K)[] ? K : TValue;
70
+ type EntryIdentityField<T> = Extract<'id' | 'entryId' | 'documentId' | 'locale', keyof T>;
69
71
  export type Projected<T extends {
70
72
  id: string;
71
- }, TFields extends Fields<T> | undefined> = [TFields] extends [undefined] ? T : Pick<T, Extract<'id' | SelectedFields<TFields>, keyof T>>;
73
+ }, TFields extends Fields<T> | undefined> = [TFields] extends [undefined] ? T : Pick<T, EntryIdentityField<T> | Extract<SelectedFields<TFields>, keyof T>>;
72
74
  export declare const FIMO_REFERENCES: unique symbol;
73
75
  export interface WithReferences<TReferences> {
74
76
  readonly [FIMO_REFERENCES]?: TReferences;
@@ -79,7 +81,7 @@ export type Populate<TEntry> = ReferenceField<TEntry> | readonly ReferenceField<
79
81
  type PopulatedKeys<TEntry, TPopulate> = Extract<ListItem<TPopulate>, keyof ReferenceMap<TEntry> & keyof TEntry>;
80
82
  export type Populated<TEntry extends {
81
83
  id: string;
82
- }, TPopulate extends Populate<TEntry>> = Pick<TEntry, 'id'> & Omit<TEntry, PopulatedKeys<TEntry, TPopulate>> & {
84
+ }, TPopulate extends Populate<TEntry>> = Pick<TEntry, EntryIdentityField<TEntry>> & Omit<TEntry, PopulatedKeys<TEntry, TPopulate>> & {
83
85
  [K in PopulatedKeys<TEntry, TPopulate>]: ReferenceMap<TEntry>[K];
84
86
  };
85
87
  export type PopulatedResult<TEntry extends {
@@ -89,7 +91,7 @@ export type PopulatedResult<TEntry extends {
89
91
  ] extends [undefined] ? TEntry : Populated<TEntry, NonNullable<TPopulate>>;
90
92
  export type ProjectedWithPopulate<T extends {
91
93
  id: string;
92
- }, TFields extends string | readonly string[] | undefined, TPopulate extends string | readonly string[] | undefined> = [TFields] extends [undefined] ? T : Pick<T, Extract<'id' | SelectedFields<TFields> | ListItem<NonNullable<TPopulate>>, keyof T>>;
94
+ }, TFields extends string | readonly string[] | undefined, TPopulate extends string | readonly string[] | undefined> = [TFields] extends [undefined] ? T : Pick<T, EntryIdentityField<T> | Extract<SelectedFields<TFields> | ListItem<NonNullable<TPopulate>>, keyof T>>;
93
95
  export type Query<T extends {
94
96
  id: string;
95
97
  }, TFields extends Fields<T> | undefined = Fields<T> | undefined, TPopulate extends string | readonly string[] | undefined = string | readonly string[] | undefined> = {
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/runtime/primitives/lib/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/runtime/primitives/lib/query.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,11 @@ describe('fimo/ui public type surface', () => {
12
12
  expectTypeOf().toEqualTypeOf();
13
13
  const localizedWhere = { locale: 'en' };
14
14
  expectTypeOf(localizedWhere).toEqualTypeOf();
15
- // @ts-expect-error locale is not a filter on non-localized generated entry types.
16
- const sharedWhere = { locale: 'en' };
17
- expectTypeOf(sharedWhere).toEqualTypeOf();
15
+ const identityWhere = {
16
+ id: '650e8400-e29b-41d4-a716-446655440000',
17
+ entryId: '550e8400-e29b-41d4-a716-446655440000',
18
+ };
19
+ expectTypeOf(identityWhere).toEqualTypeOf();
18
20
  });
19
21
  it('supports the reference populate pattern emitted into generated schemas', () => {
20
22
  const query = {
@@ -32,11 +34,13 @@ describe('fimo/ui public type surface', () => {
32
34
  expectTypeOf().toEqualTypeOf();
33
35
  expectTypeOf().toEqualTypeOf();
34
36
  expectTypeOf().toEqualTypeOf();
37
+ expectTypeOf().toEqualTypeOf();
38
+ expectTypeOf().toEqualTypeOf();
35
39
  // @ts-expect-error generated reference-aware queries only allow reference fields in populate.
36
40
  const badQuery = { populate: 'name' };
37
41
  expectTypeOf(badQuery).toEqualTypeOf();
38
- // @ts-expect-error reference filters use target documentId strings, not raw reference objects.
39
- const badWhere = { where: { sponsor: { documentId: '750e8400-e29b-41d4-a716-446655440000' } } };
42
+ // @ts-expect-error reference filters use target id strings, not raw reference objects.
43
+ const badWhere = { where: { sponsor: { id: '750e8400-e29b-41d4-a716-446655440000' } } };
40
44
  expectTypeOf(badWhere).toEqualTypeOf();
41
45
  // @ts-expect-error contains is only valid for to-many reference fields.
42
46
  const badToOneContains = { where: { sponsor: { $contains: '750e8400-e29b-41d4-a716-446655440000' } } };
@@ -83,7 +83,7 @@ export function renderFeatured(page: PageResult<undefined, readonly ["featured",
83
83
  for (const item of page.featured) {
84
84
  switch (item.$type) {
85
85
  case "Post":
86
- out.push(\`post \${String(item.title)} by \${item.author?.documentId ?? "nobody"}\`);
86
+ out.push(\`post \${String(item.title)} by \${item.author?.id ?? "nobody"}\`);
87
87
  break;
88
88
  case "Video":
89
89
  out.push(\`video \${String(item.title)} with \${item.clips.length} clip(s)\`);