agentera 3.0.0-dev.16 → 3.0.0-dev.17

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.
Files changed (67) hide show
  1. package/README.md +9 -5
  2. package/bundle/CHANGELOG.md +12 -0
  3. package/bundle/README.md +6 -2
  4. package/bundle/UPGRADE.md +18 -4
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -4
  6. package/bundle/references/adapters/package-surface-characterization.md +4 -4
  7. package/bundle/references/adapters/runtime-feature-parity.md +10 -2
  8. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +17 -0
  9. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -0
  10. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
  11. package/dist/cli/commands/prime/collectOrientationState.js +42 -33
  12. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  13. package/dist/cli/commands/schema.js +12 -3
  14. package/dist/cli/commands/schema.js.map +1 -1
  15. package/dist/cli/commands/state/plan.js +82 -46
  16. package/dist/cli/commands/state/plan.js.map +1 -1
  17. package/dist/cli/help.js +1 -1
  18. package/dist/cli/help.js.map +1 -1
  19. package/dist/cli/orientation/attention.js +99 -1
  20. package/dist/cli/orientation/attention.js.map +1 -1
  21. package/dist/cli/orientation.js +44 -17
  22. package/dist/cli/orientation.js.map +1 -1
  23. package/dist/cli/planArtifacts.js +95 -0
  24. package/dist/cli/planArtifacts.js.map +1 -0
  25. package/dist/cli/planEvidence.js +158 -0
  26. package/dist/cli/planEvidence.js.map +1 -0
  27. package/dist/cli/prime-blob.js +1 -1
  28. package/dist/cli/prime-blob.js.map +1 -1
  29. package/dist/cli/stateQuery.js +1 -0
  30. package/dist/cli/stateQuery.js.map +1 -1
  31. package/dist/registries/runtimeAdapterRegistry.js +4 -1
  32. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  33. package/dist/release/releaseMetadata.js +1 -1
  34. package/dist/release/releaseMetadata.js.map +1 -1
  35. package/dist/runtime/lifecycleAdapterContract.js +63 -41
  36. package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
  37. package/dist/runtime/lifecycleAdapters.js +162 -103
  38. package/dist/runtime/lifecycleAdapters.js.map +1 -1
  39. package/dist/runtime/lifecycleAuthority.js +81 -31
  40. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  41. package/dist/runtime/lifecycleOperationContract.js +4 -0
  42. package/dist/runtime/lifecycleOperationContract.js.map +1 -1
  43. package/dist/runtime/lifecycleOperations.js +10 -2
  44. package/dist/runtime/lifecycleOperations.js.map +1 -1
  45. package/dist/runtime/lifecycleSnapshot.js +290 -25
  46. package/dist/runtime/lifecycleSnapshot.js.map +1 -1
  47. package/dist/runtime/retiredRuntimeCleanup.js +15 -9
  48. package/dist/runtime/retiredRuntimeCleanup.js.map +1 -1
  49. package/dist/upgrade/channels.js +6 -8
  50. package/dist/upgrade/channels.js.map +1 -1
  51. package/dist/upgrade/compatibility.js +5 -0
  52. package/dist/upgrade/compatibility.js.map +1 -1
  53. package/dist/upgrade/doctor.js +14 -13
  54. package/dist/upgrade/doctor.js.map +1 -1
  55. package/dist/upgrade/lifecycleUpgrade.js +68 -27
  56. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  57. package/dist/upgrade/projectIntegration.js +148 -69
  58. package/dist/upgrade/projectIntegration.js.map +1 -1
  59. package/dist/upgrade/projectIntegrationDecision.js +99 -0
  60. package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
  61. package/dist/upgrade/runtimeMigration.js +2 -2
  62. package/dist/upgrade/runtimeMigration.js.map +1 -1
  63. package/dist/upgrade/upgradeOrchestrator.js +21 -7
  64. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  65. package/dist/validate/lifecycleAdapters.js +26 -2
  66. package/dist/validate/lifecycleAdapters.js.map +1 -1
  67. package/package.json +1 -1
@@ -57,7 +57,10 @@ function stringList(value) {
57
57
  return Array.isArray(value) && value.every((item) => typeof item === "string") ? value : [];
58
58
  }
59
59
  function forbiddenDestinationSegment(destination, forbidden) {
60
- const segments = destination.toLowerCase().split(/[\\/]+/).filter(Boolean);
60
+ const segments = destination
61
+ .toLowerCase()
62
+ .split(/[\\/]+/)
63
+ .filter(Boolean);
61
64
  return forbidden.find((candidate) => segments.includes(candidate.toLowerCase())) ?? null;
62
65
  }
63
66
  function validateResource(resource, location, sourcePath, forbidden, runtimeIds, errors) {
@@ -129,38 +132,37 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
129
132
  errors.push(sourceError(sourcePath, "category_contract.remediation_kinds", "does not match remediation vocabulary"));
130
133
  }
131
134
  const supportFloor = isMapping(data.support_floor) ? data.support_floor : {};
132
- if (supportFloor.authority !== `${LIFECYCLE_AUTHORITY_RELATIVE_PATH}#support_floor`
133
- ||
134
- supportFloor.required_category !== "skills"
135
- || supportFloor.required_capability !== "repairable"
136
- || supportFloor.unknown_or_unverified_required_detection_blocks !== true
137
- || supportFloor.incomplete_required_diagnosis_blocks !== true
138
- || supportFloor.unknown_or_missing_mandatory_evidence_blocks !== true
139
- || supportFloor.denied_required_trust_blocks !== true
140
- || supportFloor.known_false_presence_install_enable_is_diagnosed_degraded !== true
141
- || supportFloor.not_applicable_only_for_unobserved_conditional_surface !== true) {
135
+ if (supportFloor.authority !== `${LIFECYCLE_AUTHORITY_RELATIVE_PATH}#support_floor` ||
136
+ supportFloor.required_category !== "skills" ||
137
+ supportFloor.required_capability !== "repairable" ||
138
+ supportFloor.unknown_or_unverified_required_detection_blocks !== true ||
139
+ supportFloor.incomplete_required_diagnosis_blocks !== true ||
140
+ supportFloor.unknown_or_missing_mandatory_evidence_blocks !== true ||
141
+ supportFloor.denied_required_trust_blocks !== true ||
142
+ supportFloor.known_false_presence_install_enable_is_diagnosed_degraded !== true ||
143
+ supportFloor.not_applicable_only_for_unobserved_conditional_surface !== true) {
142
144
  errors.push(sourceError(sourcePath, "support_floor", "must delegate exact fail-closed evidence semantics to lifecycle authority"));
143
145
  }
144
146
  const nativePolicy = isMapping(data.native_policy) ? data.native_policy : {};
145
- if (nativePolicy.execution !== "forbidden"
146
- || nativePolicy.exact_action_required_only !== true
147
- || nativePolicy.install_update_enable_auth_trust_are_user_owned !== true) {
147
+ if (nativePolicy.execution !== "forbidden" ||
148
+ nativePolicy.exact_action_required_only !== true ||
149
+ nativePolicy.install_update_enable_auth_trust_are_user_owned !== true) {
148
150
  errors.push(sourceError(sourcePath, "native_policy", "must keep every native mutation user-owned and non-executing"));
149
151
  }
150
152
  const pathPolicy = isMapping(data.path_policy) ? data.path_policy : {};
151
153
  const forbidden = stringList(pathPolicy.forbidden_destination_segments);
152
- if (pathPolicy.destination_templates_are_declarations !== true
153
- || pathPolicy.matching_ledger_required_for_existing_resources !== true
154
- || pathPolicy.equality_or_name_never_establishes_ownership !== true
155
- || forbidden.length === 0) {
154
+ if (pathPolicy.destination_templates_are_declarations !== true ||
155
+ pathPolicy.matching_ledger_required_for_existing_resources !== true ||
156
+ pathPolicy.equality_or_name_never_establishes_ownership !== true ||
157
+ forbidden.length === 0) {
156
158
  errors.push(sourceError(sourcePath, "path_policy", "must declare ledger-only ownership and cache exclusions"));
157
159
  }
158
160
  const caveats = stringList(data.known_caveats);
159
- if (caveats.length === 0
160
- || !caveats.some((caveat) => caveat.includes("Append-only ownership journal recovery")
161
- && caveat.includes("strict contiguous hash chain")
162
- && caveat.includes("blocks malformed or disconnected final events")
163
- && caveat.includes("re-observes every resource"))) {
161
+ if (caveats.length === 0 ||
162
+ !caveats.some((caveat) => caveat.includes("Append-only ownership journal recovery") &&
163
+ caveat.includes("strict contiguous hash chain") &&
164
+ caveat.includes("blocks malformed or disconnected final events") &&
165
+ caveat.includes("re-observes every resource"))) {
164
166
  errors.push(sourceError(sourcePath, "known_caveats", "must declare strict append-only chain validation, atomic-tail recovery, and per-resource re-observation"));
165
167
  }
166
168
  const runtimeIds = new Set(authority.runtimes.map((runtime) => runtime.id));
@@ -175,11 +177,11 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
175
177
  errors.push(sourceError(sourcePath, "managed_resources", `duplicate resource id ${duplicateResource}`));
176
178
  }
177
179
  const canonical = sharedResources.find((resource) => isMapping(resource) && resource.id === "canonical_skill");
178
- if (!isMapping(canonical)
179
- || canonical.destination !== "{home}/.agents/skills/agentera"
180
- || canonical.source !== "{source_root}/skills/agentera"
181
- || canonical.kind !== "symlink"
182
- || canonical.required !== true) {
180
+ if (!isMapping(canonical) ||
181
+ canonical.destination !== "{home}/.agents/skills/agentera" ||
182
+ canonical.source !== "{source_root}/skills/agentera" ||
183
+ canonical.kind !== "symlink" ||
184
+ canonical.required !== true) {
183
185
  errors.push(sourceError(sourcePath, "shared_resources.canonical_skill", "must declare the canonical shared skill symlink"));
184
186
  }
185
187
  const adapters = Array.isArray(data.adapters) ? data.adapters : [];
@@ -217,15 +219,17 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
217
219
  const resource = allResources.find((candidate) => isMapping(candidate) && candidate.id === ref);
218
220
  if (!resource)
219
221
  errors.push(sourceError(sourcePath, `${location}.resource_refs`, `unknown resource ${ref}`));
220
- else if (isMapping(resource) && resource.runtime_id !== undefined && resource.runtime_id !== runtimeId) {
222
+ else if (isMapping(resource) &&
223
+ resource.runtime_id !== undefined &&
224
+ resource.runtime_id !== runtimeId) {
221
225
  errors.push(sourceError(sourcePath, `${location}.resource_refs`, `${ref} belongs to ${String(resource.runtime_id)}`));
222
226
  }
223
227
  }
224
228
  const skillLocations = Array.isArray(adapter.skill_locations) ? adapter.skill_locations : [];
225
229
  const canonicalLocations = skillLocations.filter((item) => isMapping(item) && item.canonical === true);
226
- if (canonicalLocations.length !== 1
227
- || !isMapping(canonicalLocations[0])
228
- || canonicalLocations[0].path !== "{home}/.agents/skills/agentera") {
230
+ if (canonicalLocations.length !== 1 ||
231
+ !isMapping(canonicalLocations[0]) ||
232
+ canonicalLocations[0].path !== "{home}/.agents/skills/agentera") {
229
233
  errors.push(sourceError(sourcePath, `${location}.skill_locations`, "must identify exactly one canonical shared skill path"));
230
234
  }
231
235
  const categories = isMapping(adapter.categories) ? adapter.categories : {};
@@ -254,7 +258,8 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
254
258
  if (typeof claim.remediation !== "string" || !claim.remediation) {
255
259
  errors.push(sourceError(sourcePath, `${claimLocation}.remediation`, "must be explicit"));
256
260
  }
257
- if (category === "skills" && runtime?.surfaces.find((item) => item.id === surface)?.presence === "required") {
261
+ if (category === "skills" &&
262
+ runtime?.surfaces.find((item) => item.id === surface)?.presence === "required") {
258
263
  if (claim.required !== true || claim.capability !== "repairable") {
259
264
  errors.push(sourceError(sourcePath, claimLocation, "required surfaces need repairable required skill detection"));
260
265
  }
@@ -296,9 +301,9 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
296
301
  if (!isMapping(claim))
297
302
  continue;
298
303
  const surfaceActions = nativeActions.filter((action) => isMapping(action) && action.surface_id === surface);
299
- const exactNativeClaim = claim.capability === "action_required"
300
- && claim.evidence === "verified_host_actions"
301
- && claim.remediation === "action_required";
304
+ const exactNativeClaim = claim.capability === "action_required" &&
305
+ claim.evidence === "verified_host_actions" &&
306
+ claim.remediation === "action_required";
302
307
  if (surfaceActions.length > 0 && !exactNativeClaim) {
303
308
  errors.push(sourceError(sourcePath, `${location}.categories.native_actions.${surface}`, "declared native actions require action_required, verified_host_actions, action_required semantics"));
304
309
  }
@@ -307,6 +312,18 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
307
312
  }
308
313
  }
309
314
  });
315
+ sharedResources.forEach((resource, resourceIndex) => {
316
+ if (!isMapping(resource))
317
+ return;
318
+ const resourceId = stringField(resource, "id");
319
+ const references = adapters.filter((adapter) => isMapping(adapter) && stringList(adapter.resource_refs).includes(resourceId));
320
+ if (references.length === 0) {
321
+ errors.push(sourceError(sourcePath, `shared_resources[${resourceIndex}].id`, `${resourceId} must be required by at least one active runtime adapter`));
322
+ }
323
+ if (resource.runtime_id !== undefined || resource.surface_id !== undefined) {
324
+ errors.push(sourceError(sourcePath, `shared_resources[${resourceIndex}]`, "shared resources cannot declare a runtime or surface applicability"));
325
+ }
326
+ });
310
327
  managedResources.forEach((resource, resourceIndex) => {
311
328
  if (!isMapping(resource))
312
329
  return;
@@ -319,7 +336,8 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
319
336
  return [];
320
337
  return [{ adapter, adapterIndex }];
321
338
  });
322
- if (references.length !== 1 || stringField(references[0]?.adapter ?? {}, "runtime_id") !== runtimeId) {
339
+ if (references.length !== 1 ||
340
+ stringField(references[0]?.adapter ?? {}, "runtime_id") !== runtimeId) {
323
341
  errors.push(sourceError(sourcePath, `managed_resources[${resourceIndex}].id`, `${resourceId} must be referenced exactly once by adapter ${runtimeId}`));
324
342
  return;
325
343
  }
@@ -327,8 +345,8 @@ export function validateRuntimeLifecycleAdapterContractData(data, authority, sou
327
345
  const categories = isMapping(adapter.categories) ? adapter.categories : {};
328
346
  const claims = isMapping(categories[category]) ? categories[category] : {};
329
347
  const claim = claims[surfaceId];
330
- if (!isMapping(claim)
331
- || (claim.capability !== "repairable" && claim.evidence !== `managed_resource:${resourceId}`)) {
348
+ if (!isMapping(claim) ||
349
+ (claim.capability !== "repairable" && claim.evidence !== `managed_resource:${resourceId}`)) {
332
350
  errors.push(sourceError(sourcePath, `managed_resources[${resourceIndex}]`, `${resourceId} must have a repairable or managed-resource claim at adapters[${references[0].adapterIndex}].categories.${category}.${surfaceId}`));
333
351
  }
334
352
  });
@@ -379,7 +397,9 @@ export function loadRuntimeLifecycleAdapterContract(contractPath = path.join(res
379
397
  canonical: location.canonical === true,
380
398
  surfaces: Array.isArray(location.surfaces)
381
399
  ? location.surfaces
382
- : authority.runtimes.find((runtime) => runtime.id === adapter.runtime_id)?.surfaces.map((surface) => surface.id) ?? [],
400
+ : (authority.runtimes
401
+ .find((runtime) => runtime.id === adapter.runtime_id)
402
+ ?.surfaces.map((surface) => surface.id) ?? []),
383
403
  })),
384
404
  categories,
385
405
  nativeActions: adapter.native_actions.map((action) => ({
@@ -407,7 +427,9 @@ function resolveSourceTemplate(template, root) {
407
427
  export function validateRuntimeLifecycleAdapterContractRoot(root = resolveSourceRoot()) {
408
428
  const contractPath = path.join(root, RUNTIME_LIFECYCLE_ADAPTER_CONTRACT_RELATIVE_PATH);
409
429
  if (!fs.existsSync(contractPath)) {
410
- return [`${RUNTIME_LIFECYCLE_ADAPTER_CONTRACT_RELATIVE_PATH}:1: missing runtime lifecycle adapter contract`];
430
+ return [
431
+ `${RUNTIME_LIFECYCLE_ADAPTER_CONTRACT_RELATIVE_PATH}:1: missing runtime lifecycle adapter contract`,
432
+ ];
411
433
  }
412
434
  try {
413
435
  const authority = loadLifecycleAuthority(path.join(root, LIFECYCLE_AUTHORITY_RELATIVE_PATH));
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycleAdapterContract.js","sourceRoot":"","sources":["../../src/runtime/lifecycleAdapterContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycleAdapterContract.js","sourceRoot":"","sources":["../../src/runtime/lifecycleAdapterContract.ts"],"names":[],"mappings":"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"}