agentera 3.0.0-dev.15 → 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.
- package/README.md +47 -22
- package/bundle/.codex-plugin/plugin.json +92 -0
- package/bundle/.cursor/agents/agentera.md +7 -0
- package/bundle/.cursor/hooks.json +32 -0
- package/bundle/.cursor-plugin/plugin.json +34 -0
- package/bundle/.github/hooks/postToolUse.json +9 -0
- package/bundle/.github/hooks/preToolUse.json +8 -0
- package/bundle/.github/hooks/sessionEnd.json +8 -0
- package/bundle/.github/hooks/sessionStart.json +8 -0
- package/bundle/.github/plugin/plugin.json +7 -0
- package/bundle/.opencode/agents/agentera.md +12 -0
- package/bundle/.opencode/commands/agentera.md +5 -0
- package/bundle/.opencode/package.json +31 -0
- package/bundle/.opencode/plugins/agentera.js +820 -0
- package/bundle/CHANGELOG.md +1087 -0
- package/bundle/DESIGN.md +233 -0
- package/bundle/LICENSE +201 -0
- package/bundle/README.md +141 -0
- package/bundle/UPGRADE.md +202 -0
- package/bundle/agents/openai.yaml +87 -0
- package/bundle/extract-corpus-parity.json +2 -4
- package/bundle/hooks/codex-hooks.json +31 -0
- package/bundle/hooks/codex-plugin-hooks.json +31 -0
- package/bundle/plugin.json +13 -0
- package/bundle/references/adapters/cursor.md +50 -40
- package/bundle/references/adapters/opencode.md +22 -23
- package/bundle/references/adapters/package-manifest-interface-model.yaml +32 -43
- package/bundle/references/adapters/package-registry.yaml +19 -52
- package/bundle/references/adapters/package-surface-characterization.md +61 -47
- package/bundle/references/adapters/runtime-adapter-characterization.md +44 -79
- package/bundle/references/adapters/runtime-adapter-registry.yaml +7 -169
- package/bundle/references/adapters/runtime-feature-parity.md +114 -174
- package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +288 -0
- package/bundle/references/adapters/runtime-lifecycle-authority.yaml +90 -0
- package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
- package/bundle/references/adapters/runtime-retired-resources.yaml +33 -0
- package/bundle/references/analysis/benchmark.md +5 -5
- package/bundle/references/analysis/startup-measurement-contract.yaml +19 -8
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +2 -2
- package/bundle/references/cli/vocabulary-index.yaml +1 -1
- package/bundle/references/cli/vocabulary.md +7 -7
- package/bundle/skills/agentera/references/contract.md +10 -3
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
- package/dist/analytics/extractCorpus/cli.js +19 -5
- package/dist/analytics/extractCorpus/cli.js.map +1 -1
- package/dist/analytics/extractCorpus/copilotSessions.js +6 -3
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/core.js +40 -11
- package/dist/analytics/extractCorpus/core.js.map +1 -1
- package/dist/analytics/extractCorpus/corpus.js +39 -16
- package/dist/analytics/extractCorpus/corpus.js.map +1 -1
- package/dist/analytics/extractCorpus/coverageAudit.js +44 -44
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -1
- package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js +2 -2
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
- package/dist/analytics/extractCorpus/filesystemSources.js +1 -4
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
- package/dist/analytics/extractCorpus/jsonlSessions.js +24 -4
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
- package/dist/analytics/usageStats.js +51 -7
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/bin/agentera.js +3 -1
- package/dist/bin/agentera.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js +1 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js +1 -1
- package/dist/capabilities/orchestrate/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js +1 -1
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +1 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/commands/doctor.js +66 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +43 -20
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +12 -1
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/report.js +19 -4
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +85 -4
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/plan.js +82 -46
- package/dist/cli/commands/state/plan.js.map +1 -1
- package/dist/cli/commands/upgrade.js +18 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/verify.js +6 -6
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js +71 -3
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/help.js +18 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/orientation/attention.js +99 -1
- package/dist/cli/orientation/attention.js.map +1 -1
- package/dist/cli/orientation.js +44 -17
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js +95 -0
- package/dist/cli/planArtifacts.js.map +1 -0
- package/dist/cli/planEvidence.js +158 -0
- package/dist/cli/planEvidence.js.map +1 -0
- package/dist/cli/prime-blob.js +1 -1
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js +1 -1
- package/dist/cli/startupCompletenessContract.js.map +1 -1
- package/dist/cli/stateQuery.js +1 -0
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/eval/evalSkills.js +13 -13
- package/dist/eval/evalSkills.js.map +1 -1
- package/dist/hooks/validateArtifact/runtime.js +4 -4
- package/dist/migrate/v2HandoffManifest.js +4 -0
- package/dist/migrate/v2HandoffManifest.js.map +1 -1
- package/dist/registries/packageRegistry.js +36 -3
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/runtimeAdapterRegistry.js +26 -17
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
- package/dist/release/releaseMetadata.js +1 -1
- package/dist/release/releaseMetadata.js.map +1 -1
- package/dist/runtime/lifecycleAdapterContract.js +458 -0
- package/dist/runtime/lifecycleAdapterContract.js.map +1 -0
- package/dist/runtime/lifecycleAdapters.js +766 -0
- package/dist/runtime/lifecycleAdapters.js.map +1 -0
- package/dist/runtime/lifecycleAuthority.js +493 -0
- package/dist/runtime/lifecycleAuthority.js.map +1 -0
- package/dist/runtime/lifecycleOperationContract.js +113 -0
- package/dist/runtime/lifecycleOperationContract.js.map +1 -0
- package/dist/runtime/lifecycleOperations.js +635 -0
- package/dist/runtime/lifecycleOperations.js.map +1 -0
- package/dist/runtime/lifecycleOwnershipJournal.js +623 -0
- package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -0
- package/dist/runtime/lifecyclePublication.js +395 -0
- package/dist/runtime/lifecyclePublication.js.map +1 -0
- package/dist/runtime/lifecycleSnapshot.js +439 -0
- package/dist/runtime/lifecycleSnapshot.js.map +1 -0
- package/dist/runtime/retiredRuntimeCleanup.js +238 -0
- package/dist/runtime/retiredRuntimeCleanup.js.map +1 -0
- package/dist/setup/codex/installRoot.js +1 -1
- package/dist/setup/codex/installRoot.js.map +1 -1
- package/dist/setup/copilot.js +1 -1
- package/dist/setup/copilot.js.map +1 -1
- package/dist/setup/cursor.js +1 -1
- package/dist/setup/cursor.js.map +1 -1
- package/dist/setup/doctor/core.js +3 -3
- package/dist/setup/doctor/core.js.map +1 -1
- package/dist/setup/doctor/diagnostics.js +0 -39
- package/dist/setup/doctor/diagnostics.js.map +1 -1
- package/dist/setup/smokeChecks.js +1 -3
- package/dist/setup/smokeChecks.js.map +1 -1
- package/dist/upgrade/appContentRefresh.js +8 -1
- package/dist/upgrade/appContentRefresh.js.map +1 -1
- package/dist/upgrade/channels.js +6 -8
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/compatibility.js +5 -0
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +18 -13
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/lifecycleUpgrade.js +427 -0
- package/dist/upgrade/lifecycleUpgrade.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/projectIntegration.js +148 -69
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +99 -0
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
- package/dist/upgrade/runtimeMigration.js +3 -10
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/upgradeCommands.js +8 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -1
- package/dist/upgrade/upgradeOrchestrator.js +164 -7
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/validate/appHomeContract.js +1 -1
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +2 -9
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -1
- package/dist/validate/lifecycleAdapters/shared.js +1 -1
- package/dist/validate/lifecycleAdapters/shared.js.map +1 -1
- package/dist/validate/lifecycleAdapters.js +102 -3
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/package.json +1 -1
- package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
schema_version: agentera.runtimeLifecycleAuthority.v1
|
|
2
|
+
status: active_authority
|
|
3
|
+
decision: 92
|
|
4
|
+
operation_contract: references/adapters/runtime-lifecycle-operation-contract.yaml
|
|
5
|
+
adapter_contract: references/adapters/runtime-lifecycle-adapters.yaml
|
|
6
|
+
retired_cleanup_contract: references/adapters/runtime-retired-resources.yaml
|
|
7
|
+
canonical_skill:
|
|
8
|
+
path: ~/.agents/skills/agentera
|
|
9
|
+
required_for_support_floor: true
|
|
10
|
+
projection_contract:
|
|
11
|
+
schema_version: agentera.runtimeLifecycleProjection.v1
|
|
12
|
+
snapshot_identity: deterministic_sha256
|
|
13
|
+
applicability:
|
|
14
|
+
- required
|
|
15
|
+
- conditional
|
|
16
|
+
- not_applicable
|
|
17
|
+
action_classes:
|
|
18
|
+
- repairable_owned
|
|
19
|
+
- manual_verification
|
|
20
|
+
- unobservable_gap
|
|
21
|
+
command_eligibility:
|
|
22
|
+
- preview
|
|
23
|
+
- apply
|
|
24
|
+
- manual
|
|
25
|
+
- diagnostic
|
|
26
|
+
shared_resource_rule: selected_and_required_by_at_least_one_selected_runtime
|
|
27
|
+
evidence_contract:
|
|
28
|
+
mandatory_fields:
|
|
29
|
+
- host_present
|
|
30
|
+
- installed
|
|
31
|
+
- enabled
|
|
32
|
+
- trusted
|
|
33
|
+
values:
|
|
34
|
+
- true
|
|
35
|
+
- false
|
|
36
|
+
- unknown
|
|
37
|
+
- denied
|
|
38
|
+
- not_applicable
|
|
39
|
+
trust_policy: Trust is observed only; unknown trust must never be promoted to trusted.
|
|
40
|
+
support_floor:
|
|
41
|
+
requirements:
|
|
42
|
+
- canonical_shared_skill_detected
|
|
43
|
+
- diagnosis_complete
|
|
44
|
+
- mandatory_evidence_resolved
|
|
45
|
+
evidence_rules:
|
|
46
|
+
unknown_or_missing_mandatory_blocks: true
|
|
47
|
+
denied_mandatory_trust_blocks: true
|
|
48
|
+
known_false_diagnoses_degraded:
|
|
49
|
+
- host_present
|
|
50
|
+
- installed
|
|
51
|
+
- enabled
|
|
52
|
+
not_applicable_scope: unobserved_conditional_surface_only
|
|
53
|
+
unmet_blocks_release: true
|
|
54
|
+
active_runtimes:
|
|
55
|
+
- id: opencode
|
|
56
|
+
display_name: OpenCode
|
|
57
|
+
surfaces:
|
|
58
|
+
- id: host
|
|
59
|
+
display_name: OpenCode host
|
|
60
|
+
presence: required
|
|
61
|
+
- id: codex
|
|
62
|
+
display_name: Codex
|
|
63
|
+
surfaces:
|
|
64
|
+
- id: cli
|
|
65
|
+
display_name: Codex CLI
|
|
66
|
+
presence: required
|
|
67
|
+
- id: cursor
|
|
68
|
+
display_name: Cursor
|
|
69
|
+
surfaces:
|
|
70
|
+
- id: cli
|
|
71
|
+
display_name: Cursor Agent CLI
|
|
72
|
+
presence: required
|
|
73
|
+
- id: ide
|
|
74
|
+
display_name: Cursor IDE
|
|
75
|
+
presence: conditional
|
|
76
|
+
- id: copilot
|
|
77
|
+
display_name: GitHub Copilot
|
|
78
|
+
surfaces:
|
|
79
|
+
- id: cli
|
|
80
|
+
display_name: Copilot CLI
|
|
81
|
+
presence: required
|
|
82
|
+
retired_runtime_inputs:
|
|
83
|
+
- id: claude
|
|
84
|
+
purposes:
|
|
85
|
+
- consent_gated_historical_import
|
|
86
|
+
- owned_legacy_resource_cleanup
|
|
87
|
+
migration_aliases:
|
|
88
|
+
cursor-agent:
|
|
89
|
+
runtime_id: cursor
|
|
90
|
+
surface_id: cli
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
schema_version: agentera.lifecycleOperationContract.v1
|
|
2
|
+
status: active_contract
|
|
3
|
+
decision: 92
|
|
4
|
+
scope: runtime_neutral_filesystem_resources
|
|
5
|
+
ownership:
|
|
6
|
+
manifest_schema: agentera.lifecycleOwnershipManifest.v1
|
|
7
|
+
ledger_schema: agentera.lifecycleOwnershipLedger.v1
|
|
8
|
+
owner: agentera
|
|
9
|
+
mutation_rule: A destination declaration is always required. Existing resources additionally require one matching whole-resource ledger record.
|
|
10
|
+
equality_rule: Content equality and resource names never establish ownership.
|
|
11
|
+
collision_rule: Pre-existing resources without matching ledger ownership are never replaced or removed.
|
|
12
|
+
identity_rule: Managed and published pending-create records bind the filesystem device and inode observed at publication.
|
|
13
|
+
removal_rule: Removal requires a matching whole-resource ledger identity and fingerprint, a pinned non-symlink parent, and Linux /proc/self/fd directory-relative access.
|
|
14
|
+
manual_review_guidance: The destination is not ledger-owned; review the collision manually. Agentera will not adopt it by name or equality.
|
|
15
|
+
interrupted_create_rule: A pending_create record may be finalized when its recorded identity and expected fingerprint match, or when the durable pre-create record survived and the exclusively declared resource is observed at the exact expected kind and fingerprint after restart.
|
|
16
|
+
journal_rule: Apply publishes fsynced append-only ledger snapshots atomically at final names and accepts only a contiguous sequence-one hash chain with no gaps, forks, duplicate sequences, digest mismatches, or disconnected events.
|
|
17
|
+
journal_statuses:
|
|
18
|
+
absent: No journal directory exists; preview remains zero-write and apply may publish sequence one.
|
|
19
|
+
clean: Every authoritative final event is complete, schema-valid, digest-valid, and connected; mutation may append the next sequence.
|
|
20
|
+
recoverable_terminal_tail: Exactly one syntactically incomplete final event follows the clean prefix with no successor; reads preserve the prefix but every mutation is blocked until the tail is resolved.
|
|
21
|
+
corrupt: Any malformed complete event, middle incomplete event, gap, fork, duplicate sequence, body or filename mismatch, digest mismatch, disconnection, or unsafe entry blocks every mutation.
|
|
22
|
+
recovery_rule: Restart ignores uniquely named non-authoritative publication temporaries, folds only the strict connected final chain, and re-observes each resource before retry; append never continues from a rolled-back prefix or past an unresolved final tail.
|
|
23
|
+
resource_states:
|
|
24
|
+
- exact
|
|
25
|
+
- modified
|
|
26
|
+
- missing
|
|
27
|
+
- legacy
|
|
28
|
+
- symlinked
|
|
29
|
+
- wrong_type
|
|
30
|
+
- partial_managed
|
|
31
|
+
- unowned
|
|
32
|
+
- unsafe_path
|
|
33
|
+
- ambiguous_ownership
|
|
34
|
+
plan_actions:
|
|
35
|
+
- create
|
|
36
|
+
- update
|
|
37
|
+
- remove
|
|
38
|
+
- finalize_ownership
|
|
39
|
+
- noop
|
|
40
|
+
- blocked_unowned
|
|
41
|
+
- action_required
|
|
42
|
+
apply_results:
|
|
43
|
+
- applied
|
|
44
|
+
- noop
|
|
45
|
+
- failed
|
|
46
|
+
- blocked_unowned
|
|
47
|
+
- skipped_dependency
|
|
48
|
+
- action_required
|
|
49
|
+
aggregate_rule: Required results other than applied or noop make the aggregate non_success.
|
|
50
|
+
dependency_rule: Independent operations continue after failure. Dependents skip with their failed dependency IDs.
|
|
51
|
+
retry_rule: Successful work replans to noop; pending and failed work retries from observed filesystem and ledger state.
|
|
52
|
+
preview_policy:
|
|
53
|
+
mode: strictly_read_only
|
|
54
|
+
forbidden:
|
|
55
|
+
- filesystem mutation
|
|
56
|
+
- directory creation
|
|
57
|
+
- locks
|
|
58
|
+
- temporary target files
|
|
59
|
+
- ownership record writes
|
|
60
|
+
- caches
|
|
61
|
+
- telemetry
|
|
62
|
+
- native commands
|
|
63
|
+
- package managers
|
|
64
|
+
- authentication
|
|
65
|
+
- trust changes
|
|
66
|
+
path_safety:
|
|
67
|
+
- Destinations must be absolute and contained by an explicit existing allowed root.
|
|
68
|
+
- Apply pins the allowed root and every parent through Linux /proc/self/fd, then revalidates directory identities at the final publication boundary.
|
|
69
|
+
- Parent symlink traversal, parent identity substitution, link-target escapes, target identity substitution, hard-linked files, wrong types, partial ownership, and ambiguous ownership require action or fail safely.
|
|
70
|
+
publication_policy:
|
|
71
|
+
supported_platform: linux_proc_self_fd
|
|
72
|
+
unsupported_platform_result: action_required
|
|
73
|
+
apply_serialization: lifecycle apply prepares a complete fsynced uniquely named lock directory and atomically renames it into final position; a complete live preparation blocks contenders, and the immutable owner record binds token, PID, Linux boot ID, and /proc process start ticks.
|
|
74
|
+
lock_recovery: Malformed or incomplete final locks fail closed. A complete lock is stale only when boot ID or process start ticks prove that exact owner identity is gone; release verifies the full identity and token before removing the owner record and lock directory.
|
|
75
|
+
journal_publication: Event bytes are fsynced under a unique non-authoritative temporary name, hard-linked atomically to the exclusive final event name, and followed by directory fsync before temporary cleanup.
|
|
76
|
+
create_protocol: directory-relative exclusive no-follow creation with no sibling temporary path
|
|
77
|
+
owned_file_update_protocol: directory-relative no-follow open, ledger and observation identity match, descriptor-local fingerprint check, in-place descriptor write, and post-write path identity check
|
|
78
|
+
destructive_path_mutations: owned_removal_only
|
|
79
|
+
destructive_path_reason: Removal is limited to declared resources whose whole-resource ledger identity and fingerprint still match through a pinned parent; every weaker case fails closed.
|
|
80
|
+
cleanup_rule: Publication creates no sibling temporary entry and never unlinks a colliding or replaced path; approved cleanup may unlink only the validated owned resource.
|
|
81
|
+
crash_boundary: Creates and owned file updates preserve the never-overwrite-unowned invariant but are not promised crash-atomic; a recorded pending identity makes partial Agentera-created files retryable.
|
|
82
|
+
native_policy:
|
|
83
|
+
install_update_auth_trust_operations: forbidden
|
|
84
|
+
trust_is_observed_only: true
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
schema_version: agentera.retiredRuntimeResources.v1
|
|
2
|
+
status: retired_migration_contract
|
|
3
|
+
decision: 92
|
|
4
|
+
authority: references/adapters/runtime-lifecycle-authority.yaml
|
|
5
|
+
operation_contract: references/adapters/runtime-lifecycle-operation-contract.yaml
|
|
6
|
+
policy:
|
|
7
|
+
active_inventory_exposure: forbidden
|
|
8
|
+
preview: strictly_read_only
|
|
9
|
+
apply_requires: explicit_approval
|
|
10
|
+
ownership: matching_whole_resource_legacy_ledger_identity_and_fingerprint
|
|
11
|
+
unsupported_platform_result: action_required
|
|
12
|
+
retired_runtimes:
|
|
13
|
+
- id: claude
|
|
14
|
+
display_name: Claude Code historical migration
|
|
15
|
+
active_runtime: false
|
|
16
|
+
source_product: claude-code
|
|
17
|
+
resources:
|
|
18
|
+
- id: claude.agentera-skill-link
|
|
19
|
+
kind: symlink
|
|
20
|
+
intent: remove
|
|
21
|
+
destination: "{home}/.claude/skills/agentera"
|
|
22
|
+
ledger_status: legacy
|
|
23
|
+
never_touch:
|
|
24
|
+
- "{home}/.claude/projects"
|
|
25
|
+
- "{home}/.claude/statsig"
|
|
26
|
+
- "{home}/.claude/settings.json"
|
|
27
|
+
- "{home}/.claude/settings.local.json"
|
|
28
|
+
- "{home}/.claude.json"
|
|
29
|
+
- "{home}/.claude/cache"
|
|
30
|
+
- "{home}/.claude/caches"
|
|
31
|
+
- "{home}/.claude/conversations"
|
|
32
|
+
- "{home}/.claude/credentials"
|
|
33
|
+
safety_note: Only the declared Agentera skill symlink may be removed, and only when a matching legacy ownership ledger still binds its identity and target fingerprint. Transcript, settings, credential, conversation, stats, cache, and ambiguous paths are never cleanup targets.
|
|
@@ -83,11 +83,11 @@ Status interpretation is intentionally split:
|
|
|
83
83
|
| No matching records | `sparse` / `no_matching_records` | Candidate storage was readable and schema-compatible, but no supported records were extracted. Treat this as sparse coverage evidence. |
|
|
84
84
|
| Successful zero-record window | `ok` / `records_extracted` with `record_count: 0` and `error_count: 0` | Extraction succeeded, but the incremental benchmark window has no records after the previous watermark. Treat this as compatible successful behavior. |
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
`
|
|
88
|
-
and 2 errors; `
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
Known active-runtime caveats are extraction caveats, not CLI behavior evidence:
|
|
87
|
+
`cursor` is degraded by `schema_divergent` with 4836 candidates, 0 records,
|
|
88
|
+
and 2 errors; `copilot` is degraded by `schema_divergent` with 1 candidate,
|
|
89
|
+
0 records, and 1 error; `opencode` currently contributes records; `codex` can
|
|
90
|
+
validly report `ok` with zero records and zero errors for an empty
|
|
91
91
|
incremental window.
|
|
92
92
|
|
|
93
93
|
Runtime-store runs are incremental by default. The first run for a runtime scope
|
|
@@ -15,7 +15,7 @@ boundary:
|
|
|
15
15
|
rule: include records with timestamps strictly after committed_at
|
|
16
16
|
|
|
17
17
|
section_22_compatibility:
|
|
18
|
-
consumes_adapter_version: agentera-
|
|
18
|
+
consumes_adapter_version: agentera-v3-corpus-2
|
|
19
19
|
required_record_families:
|
|
20
20
|
- conversation_turn
|
|
21
21
|
- tool_call
|
|
@@ -39,7 +39,9 @@ benchmark_execution:
|
|
|
39
39
|
live_host_checks: forbidden_by_default
|
|
40
40
|
runtime_path_approval: >-
|
|
41
41
|
Running mage bench:startupState authorizes inspection of the documented
|
|
42
|
-
default runtime stores for codex,
|
|
42
|
+
default active-runtime stores for codex, cursor, opencode, and copilot.
|
|
43
|
+
Claude history is excluded unless the caller separately supplies
|
|
44
|
+
--import-source claude with its concrete local path.
|
|
43
45
|
Custom runtime history sources must be supplied as exact runtime labels and
|
|
44
46
|
concrete filesystem paths. A generic consent flag or runtime label without
|
|
45
47
|
its concrete path is insufficient for custom sources.
|
|
@@ -59,10 +61,10 @@ benchmark_execution:
|
|
|
59
61
|
|
|
60
62
|
runtime_extraction_contract:
|
|
61
63
|
supported_runtime_order:
|
|
62
|
-
- codex
|
|
63
|
-
- claude-code
|
|
64
64
|
- opencode
|
|
65
|
-
-
|
|
65
|
+
- codex
|
|
66
|
+
- cursor
|
|
67
|
+
- copilot
|
|
66
68
|
normalized_record_fields:
|
|
67
69
|
required:
|
|
68
70
|
- source_id
|
|
@@ -70,6 +72,9 @@ runtime_extraction_contract:
|
|
|
70
72
|
- project_id
|
|
71
73
|
- source_kind
|
|
72
74
|
- runtime
|
|
75
|
+
- source_class
|
|
76
|
+
- source_product
|
|
77
|
+
- active_runtime
|
|
73
78
|
- adapter_version
|
|
74
79
|
- data
|
|
75
80
|
optional:
|
|
@@ -94,11 +99,11 @@ runtime_extraction_contract:
|
|
|
94
99
|
- record_count, which may be zero or partial
|
|
95
100
|
- error_count greater than zero
|
|
96
101
|
current_examples:
|
|
97
|
-
- runtime:
|
|
102
|
+
- runtime: cursor
|
|
98
103
|
file_count: 4836
|
|
99
104
|
record_count: 0
|
|
100
105
|
error_count: 2
|
|
101
|
-
- runtime:
|
|
106
|
+
- runtime: copilot
|
|
102
107
|
file_count: 1
|
|
103
108
|
record_count: 0
|
|
104
109
|
error_count: 1
|
|
@@ -127,7 +132,7 @@ runtime_extraction_contract:
|
|
|
127
132
|
- runtime: codex
|
|
128
133
|
record_count: 0
|
|
129
134
|
error_count: 0
|
|
130
|
-
|
|
135
|
+
source_products:
|
|
131
136
|
codex:
|
|
132
137
|
accepted_input_schema_classes:
|
|
133
138
|
- JSONL session files containing session_meta or turn_context records
|
|
@@ -146,6 +151,9 @@ runtime_extraction_contract:
|
|
|
146
151
|
- Do not retain cwd, project_path, store_path, file_path, raw session ids, or generated salted hashes.
|
|
147
152
|
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
148
153
|
claude-code:
|
|
154
|
+
source_class: historical_import
|
|
155
|
+
active_runtime: false
|
|
156
|
+
inclusion_rule: explicit --import-source claude only; excluded from default active-runtime metrics
|
|
149
157
|
accepted_input_schema_classes:
|
|
150
158
|
- JSONL project session files with top-level role or type user/assistant events
|
|
151
159
|
- JSONL message objects with nested message.role plus content/text/message content variants
|
|
@@ -180,6 +188,9 @@ runtime_extraction_contract:
|
|
|
180
188
|
- Do not retain SQLite file paths, project paths, transcript text, raw session ids, or generated salted hashes.
|
|
181
189
|
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
182
190
|
github-copilot:
|
|
191
|
+
runtime: copilot
|
|
192
|
+
source_class: active_runtime
|
|
193
|
+
active_runtime: true
|
|
183
194
|
accepted_input_schema_classes:
|
|
184
195
|
- SQLite session-store.db with sessions and turns tables
|
|
185
196
|
- session id columns id, session_id, or sessionID
|
|
@@ -65,8 +65,8 @@ canonical_concepts:
|
|
|
65
65
|
- bundled suite
|
|
66
66
|
plugin_shipped_hooks:
|
|
67
67
|
definition: >-
|
|
68
|
-
Hooks that are shipped by runtime plugin package surfaces such as
|
|
69
|
-
OpenCode,
|
|
68
|
+
Hooks that are shipped by active runtime plugin package surfaces such as
|
|
69
|
+
Codex, OpenCode, Cursor, or GitHub plugin metadata.
|
|
70
70
|
allowed_terms:
|
|
71
71
|
- plugin-shipped hooks
|
|
72
72
|
- plugin-bundled hooks
|
|
@@ -33,7 +33,7 @@ normalization_rules:
|
|
|
33
33
|
use: single Agentera agent, capabilities (the product word); "skill" and "plugin" survive only as internal transport (the skills/ directory and plugin.json manifests host editors require)
|
|
34
34
|
avoid: '"Agentera skill" or "plugin" as product words; "twelve-skill suite" or "plugin suite" for the capability set.'
|
|
35
35
|
- rule: Agentera is the agent; the host is the harness (Decision 74).
|
|
36
|
-
use: host runtime, harness, host coding agent (
|
|
36
|
+
use: host runtime, harness, host coding agent (OpenCode, Codex, Cursor, Copilot); the CLI owns routing, memory, capability prose, and the worker-spec contract
|
|
37
37
|
avoid: Calling host coding agents peers or extension hosts of Agentera; implying Agentera is a module loaded into the host.
|
|
38
38
|
- rule: /agentera is the main invocation.
|
|
39
39
|
use: /agentera, $agentera for Codex-specific docs
|
|
@@ -51,9 +51,9 @@ examples. Diagnostics should state object, state, cause, and fix.
|
|
|
51
51
|
|
|
52
52
|
| Term | Definition | Common sources |
|
|
53
53
|
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
54
|
-
| Agentera | The agent. One persistent identity that thinks through every step and keeps working when you walk away — the colleague, not the team. The CLI is the brain and spine: it owns routing, memory, capability prose, and the worker-spec contract.
|
|
55
|
-
| Host runtime (harness) |
|
|
56
|
-
| Product surface | Where the same fixed Agentera workflow ships: `@agentera/cli` (the agent runtime and narrow waist — owns routing, memory, capability prose, and the worker-spec contract), `@agentera/mobile` (primary app, a client of the CLI), `@agentera/web` (site and docs), and host runtimes (
|
|
54
|
+
| Agentera | The agent. One persistent identity that thinks through every step and keeps working when you walk away — the colleague, not the team. The CLI is the brain and spine: it owns routing, memory, capability prose, and the worker-spec contract. Active host coding agents (OpenCode, Codex, Cursor, Copilot) are harnesses that provide the model and tool runtime; Agentera provides the identity, memory, discipline, and routing. Identity is per-project: same personality, same capabilities, different memory, no bleed. Headline: one agent, one CLI, many capabilities. | `README.md`, `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
|
|
55
|
+
| Host runtime (harness) | An active host coding agent — OpenCode, Codex, Cursor, or Copilot — that provides the model, the tool runtime, and the spawn capacity. Agentera is the agent; the host is the harness. The host learns one contract: the JSON the CLI returns from `agentera prime`. Editor runtime installs are transport (the `skills/` directory, `plugin.json`), not an extension surface. | `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
|
|
56
|
+
| Product surface | Where the same fixed Agentera workflow ships: `@agentera/cli` (the agent runtime and narrow waist — owns routing, memory, capability prose, and the worker-spec contract), `@agentera/mobile` (primary app, a client of the CLI), `@agentera/web` (site and docs), and active host runtimes (OpenCode, Codex, Cursor, Copilot). Host runtimes are harnesses — clients of the CLI, not extension hosts or peers. | `README.md`, `AGENTS.md`, `packages/*/README.md`, `.agentera/decisions.yaml` (D74) |
|
|
57
57
|
| @agentera/mobile | The flagship mobile/web app package at `packages/mobile`. SvelteKit, Cursor SDK, Cloudflare Worker. | `packages/mobile/README.md`, `packages/mobile/DESIGN.md` |
|
|
58
58
|
| Agentera skill | Internal transport, not a product word. The bundle at `skills/agentera/` packages Agentera's routing entry and capability prose for host editor runtimes — the `skills/` directory and `plugin.json` manifests host editors require. It is the same fixed workflow, not user extensibility. Per Decision 74, "skill" is retired from product vocabulary and survives only as internal transport; the product word is capabilities. | `skills/agentera/SKILL.md`, `README.md` Internals, `.agentera/decisions.yaml` (D74) |
|
|
59
59
|
| Capability | A routed behavioral unit of the single Agentera agent, driven through the CLI. Eleven top-level capabilities (status, vision, discuss, research, plan, build, optimize, audit, document, design, orchestrate) plus profile, which surfaces through existing capabilities but appears as a peer row in user-facing docs. Each capability has a prose module at `packages/cli/src/capabilities/<name>/instructions.ts` plus `triggers.yaml`, `artifacts.yaml`, `validation.yaml`, and `exit.yaml`. English names are canonical per Decision 70; the Swedish `-era` names are legacy v2 stable only (see Legacy Swedish capability names). | `AGENTS.md`, `skills/agentera/capabilities/*`, `packages/cli/src/capabilities/*`, `.agentera/decisions.yaml` (D70, D74) |
|
|
@@ -117,7 +117,7 @@ the prose module directly.
|
|
|
117
117
|
| Term | Definition |
|
|
118
118
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
119
119
|
| CLI-first state access | Read project state through `agentera` top-level commands before raw artifact reads. |
|
|
120
|
-
| Top-level state commands | The canonical namespace command is `state` followed by a subcommand (`plan`, `progress`, `health`, `todo`, `decisions`, `docs`, `objective`, `experiments`, `query`). Legacy top-level aliases remain during migration; see [audience-namespace-cli-migration.yaml](
|
|
120
|
+
| Top-level state commands | The canonical namespace command is `state` followed by a subcommand (`plan`, `progress`, `health`, `todo`, `decisions`, `docs`, `objective`, `experiments`, `query`). Legacy top-level aliases remain during migration; see [audience-namespace-cli-migration.yaml](audience-namespace-cli-migration.yaml). |
|
|
121
121
|
| Artifact-backed briefing | Any briefing or routing decision backed by Agentera project artifacts. It must use CLI-first state access. |
|
|
122
122
|
| Bare `/agentera` | Invocation without a specific request. It delegates to `status` and renders the status dashboard from one composite source command. |
|
|
123
123
|
| Status dashboard | User-facing project briefing with logo, status metrics, a narrative read inside `status`, attention, next action, and `⌂ status · <status>`. Issues summary uses `critical · degraded · annoying` only. |
|
|
@@ -135,14 +135,14 @@ the prose module directly.
|
|
|
135
135
|
| Suggest, don't force | Status recommends the next capability but waits for user confirmation. |
|
|
136
136
|
| Capability handoff label | A recommendation from one capability to another. Use glyph plus canonical name, such as `⧉ build` or `≡ plan`, not standalone slash-capability names. SG priority codes are internal protocol references and are not user-facing handoff labels. |
|
|
137
137
|
| Explicit route documentation | User-facing examples that teach the actual entry route. Use `/agentera <alias>` such as `/agentera build`; do not present aliases as CLI commands. |
|
|
138
|
-
| Runtime question tool | Host-native bounded-choice prompt.
|
|
138
|
+
| Runtime question tool | Host-native bounded-choice prompt. Concrete tool availability belongs to the active host runtime, not this vocabulary. |
|
|
139
139
|
| Question-tool gating | Use a native question tool only for at least two meaningful non-terminal next actions or consequential Proceed/Cancel; `Done` and custom/free-form answers do not count as alternatives. Initial Agentera/status briefs stay free-form unless bounded choices were requested or the suggested next step is a state-changing Proceed/Cancel handoff. A single non-mutating suggested handoff may use a free-form prompt, but a single state-changing handoff uses native Proceed/Cancel confirmation. State-changing means the proposed next step may write artifacts, edit code, run optimization or orchestration cycles, apply migrations, refresh app/runtime state, or otherwise mutate project/runtime state. Apply the behavior rule first, with examples such as ⧉ build, ≡ plan when creating or updating plans, ▤ document when writing docs, ⎘ optimize when running or applying optimization cycles, and ⎈ orchestrate when dispatching cycles. This dispatcher rule governs status and capability handoff prompts; invoked capability prose can impose stricter question-tool requirements. |
|
|
140
140
|
| Handoff confirmation | Clear free-form acceptance of the named single suggestion confirms invocation. Selecting a downstream capability option in a bounded prompt also confirms invocation; selecting `Done` stops without routing. Ambiguous replies get one clarifying question. |
|
|
141
141
|
| Route | Direct user invocation by canonical capability name, primary alias, or slash route. A route is already consent to invoke the capability and does not need an extra handoff confirmation. |
|
|
142
142
|
| Suggest | Recommend a downstream capability and wait for confirmation. |
|
|
143
143
|
| Delegate | Orchestrate assigns approved plan work to a worker capability during an explicitly orchestrated flow. |
|
|
144
144
|
| Spawn | Build or Optimize launches an isolated runtime worker through the host subagent mechanism. |
|
|
145
|
-
| Subagent mechanism | Runtime support for worker execution through
|
|
145
|
+
| Subagent mechanism | Runtime support for worker execution through OpenCode, Codex CLI, Cursor IDE, Copilot CLI, or another active host-native worker surface. |
|
|
146
146
|
| Legacy bridge | Temporary v1 entry points, especially `/hej`, that guide users to `/agentera` and the v2 upgrade path. |
|
|
147
147
|
|
|
148
148
|
CLI-visible `agentera prime` labels are source labels. Preserve them in CLI tests
|
|
@@ -372,7 +372,7 @@ not add precision:
|
|
|
372
372
|
| Hook lifecycle | Runtime callbacks such as `SessionStart`, `Stop`, `PreToolUse`, and `PostToolUse`. |
|
|
373
373
|
| Setup doctor | Diagnostic command surface for install/runtime health. |
|
|
374
374
|
|
|
375
|
-
Canonical runtime names are
|
|
375
|
+
Canonical active runtime names are OpenCode, Codex, Cursor, and GitHub Copilot. Cursor Agent CLI and Cursor IDE are surfaces of the single Cursor identity; `cursor-agent` is an inactive Cursor alias and source-product name. Claude Code is a retired migration and consent-gated historical-import source, not an active runtime.
|
|
376
376
|
|
|
377
377
|
### App lifecycle status vocabulary
|
|
378
378
|
|
|
@@ -740,9 +740,16 @@ Realisera holds the primary enforcement contract because it is the skill that ac
|
|
|
740
740
|
|
|
741
741
|
## 22. Session Corpus Contract
|
|
742
742
|
|
|
743
|
-
Profilera mines decision patterns from host session data to produce PROFILE.md.
|
|
744
|
-
|
|
745
|
-
|
|
743
|
+
Profilera mines decision patterns from host session data to produce PROFILE.md.
|
|
744
|
+
Claude-specific entries in this legacy section describe the retired,
|
|
745
|
+
consent-gated historical importer only. They are inactive, excluded from default
|
|
746
|
+
analytics, and do not define runtime support. This section defines the normalized
|
|
747
|
+
data model that any active host adapter or explicit historical importer can produce.
|
|
748
|
+
|
|
749
|
+
The contract is a data model, not a path model. It specifies what profilera needs
|
|
750
|
+
to observe, not where the host stores it. Active runtimes produce normalized
|
|
751
|
+
records from their own storage; the retired Claude parser runs only after explicit
|
|
752
|
+
historical-import consent.
|
|
746
753
|
|
|
747
754
|
### Record types
|
|
748
755
|
|
|
@@ -134,7 +134,7 @@ HEADER:
|
|
|
134
134
|
type: string
|
|
135
135
|
required: true
|
|
136
136
|
description: >-
|
|
137
|
-
Short plan title. Used in archive naming and plan listing.
|
|
137
|
+
Short plan title. Used in archive naming and active/archived plan listing.
|
|
138
138
|
Format: 'Plan: <descriptive name>'.
|
|
139
139
|
validation:
|
|
140
140
|
- "Non-empty string"
|
|
@@ -19,7 +19,7 @@ export function parseExtractArgs(argv, env = process.env, platform = process.pla
|
|
|
19
19
|
cursorProjectsDir: null,
|
|
20
20
|
cursorChatsDir: null,
|
|
21
21
|
noCodex: false,
|
|
22
|
-
|
|
22
|
+
importSources: [],
|
|
23
23
|
noOpencode: false,
|
|
24
24
|
noCopilot: false,
|
|
25
25
|
noCursor: false,
|
|
@@ -27,6 +27,7 @@ export function parseExtractArgs(argv, env = process.env, platform = process.pla
|
|
|
27
27
|
coverageAuditOnly: false,
|
|
28
28
|
format: "text",
|
|
29
29
|
};
|
|
30
|
+
let claudeProjectsDirExplicit = false;
|
|
30
31
|
for (let i = 0; i < argv.length; i++) {
|
|
31
32
|
const a = argv[i];
|
|
32
33
|
const val = (name) => {
|
|
@@ -43,8 +44,16 @@ export function parseExtractArgs(argv, env = process.env, platform = process.pla
|
|
|
43
44
|
args.projectRoot.push(v);
|
|
44
45
|
else if ((v = val("--codex-sessions-dir")) !== null)
|
|
45
46
|
args.codexSessionsDir = v;
|
|
46
|
-
else if ((v = val("--claude-projects-dir")) !== null)
|
|
47
|
+
else if ((v = val("--claude-projects-dir")) !== null) {
|
|
47
48
|
args.claudeProjectsDir = v;
|
|
49
|
+
claudeProjectsDirExplicit = true;
|
|
50
|
+
}
|
|
51
|
+
else if ((v = val("--import-source")) !== null) {
|
|
52
|
+
if (v !== "claude")
|
|
53
|
+
throw new Error(`extract-corpus: unsupported historical import source '${v}'; valid source: claude`);
|
|
54
|
+
if (!args.importSources.includes(v))
|
|
55
|
+
args.importSources.push(v);
|
|
56
|
+
}
|
|
48
57
|
else if ((v = val("--opencode-conversations-dir")) !== null)
|
|
49
58
|
args.opencodeConversationsDir = v;
|
|
50
59
|
else if ((v = val("--copilot-conversations-dir")) !== null)
|
|
@@ -55,8 +64,6 @@ export function parseExtractArgs(argv, env = process.env, platform = process.pla
|
|
|
55
64
|
args.cursorChatsDir = v;
|
|
56
65
|
else if (a === "--no-codex")
|
|
57
66
|
args.noCodex = true;
|
|
58
|
-
else if (a === "--no-claude")
|
|
59
|
-
args.noClaude = true;
|
|
60
67
|
else if (a === "--no-opencode")
|
|
61
68
|
args.noOpencode = true;
|
|
62
69
|
else if (a === "--no-copilot")
|
|
@@ -87,6 +94,9 @@ export function parseExtractArgs(argv, env = process.env, platform = process.pla
|
|
|
87
94
|
else
|
|
88
95
|
throw new Error(`extract-corpus: unrecognized argument: ${a}`);
|
|
89
96
|
}
|
|
97
|
+
if (claudeProjectsDirExplicit && !args.importSources.includes("claude")) {
|
|
98
|
+
throw new Error("extract-corpus: --claude-projects-dir requires explicit --import-source claude");
|
|
99
|
+
}
|
|
90
100
|
return args;
|
|
91
101
|
}
|
|
92
102
|
/** Engine entry point mirroring scripts/extract_corpus.py main(). */
|
|
@@ -105,6 +115,10 @@ export function extractCorpusMain(argv, io = {}) {
|
|
|
105
115
|
return 2;
|
|
106
116
|
}
|
|
107
117
|
const projectRoots = args.projectRoot.length > 0 ? args.projectRoot : [cwd];
|
|
118
|
+
if (args.importSources.includes("claude")) {
|
|
119
|
+
err("Historical import warning: Claude transcripts can contain secrets, file contents, and command output. " +
|
|
120
|
+
"Import is local and read-only; records are labeled historical_import and excluded from active-runtime analytics.");
|
|
121
|
+
}
|
|
108
122
|
const audit = runCoverageAudit(args, env, platform, args.acceptCoverageGap);
|
|
109
123
|
if (args.format === "json") {
|
|
110
124
|
out(JSON.stringify({ coverage_audit: audit }, null, 2));
|
|
@@ -126,7 +140,7 @@ export function extractCorpusMain(argv, io = {}) {
|
|
|
126
140
|
const corpus = buildCorpus({
|
|
127
141
|
projectRoots,
|
|
128
142
|
codexSessionsDir: args.noCodex ? null : args.codexSessionsDir,
|
|
129
|
-
claudeProjectsDir: args.
|
|
143
|
+
claudeProjectsDir: args.importSources.includes("claude") ? args.claudeProjectsDir : null,
|
|
130
144
|
opencodeConversationsDir: args.noOpencode ? null : args.opencodeConversationsDir || resolveOpencodeDbPath(env),
|
|
131
145
|
copilotConversationsDir: args.noCopilot ? null : args.copilotConversationsDir || resolveCopilotStorePath(env),
|
|
132
146
|
cursorProjectsDir: skipCursor ? null : args.cursorProjectsDir || resolveCursorProjectsPath(env),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/analytics/extractCorpus/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAEL,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAuB7B,MAAM,UAAU,gBAAgB,CAAC,IAAc,EAAE,MAAW,OAAO,CAAC,GAAG,EAAE,WAA4B,OAAO,CAAC,QAAQ;IACnH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC;QACxC,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC;QACvD,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACzD,wBAAwB,EAAE,IAAI;QAC9B,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,KAAK;QACd,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/analytics/extractCorpus/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -233,7 +233,8 @@ export function extractCopilotSessions(storePath, errors, ctx) {
|
|
|
233
233
|
sourceKind: "conversation_turn",
|
|
234
234
|
timestamp,
|
|
235
235
|
projectPath,
|
|
236
|
-
runtime: "
|
|
236
|
+
runtime: "copilot",
|
|
237
|
+
sourceProduct: "github-copilot",
|
|
237
238
|
sourceParts: [resolvePath(dbPath), index, role, content.slice(0, 80)],
|
|
238
239
|
sessionId: String(row.session_id),
|
|
239
240
|
data,
|
|
@@ -246,7 +247,8 @@ export function extractCopilotSessions(storePath, errors, ctx) {
|
|
|
246
247
|
sourceKind: "tool_call",
|
|
247
248
|
timestamp,
|
|
248
249
|
projectPath,
|
|
249
|
-
runtime: "
|
|
250
|
+
runtime: "copilot",
|
|
251
|
+
sourceProduct: "github-copilot",
|
|
250
252
|
sourceParts: [resolvePath(dbPath), index, toolIndex, "tool", toolItem.tool_name, row.turn_id],
|
|
251
253
|
sessionId: String(row.session_id),
|
|
252
254
|
data: { tool_name: String(toolItem.tool_name), arguments: toolItem.arguments || {} },
|
|
@@ -259,7 +261,8 @@ export function extractCopilotSessions(storePath, errors, ctx) {
|
|
|
259
261
|
sourceKind: "history_prompt",
|
|
260
262
|
timestamp,
|
|
261
263
|
projectPath,
|
|
262
|
-
runtime: "
|
|
264
|
+
runtime: "copilot",
|
|
265
|
+
sourceProduct: "github-copilot",
|
|
263
266
|
sourceParts: [resolvePath(dbPath), index, "history", content.slice(0, 120)],
|
|
264
267
|
sessionId: String(row.session_id),
|
|
265
268
|
data: { prompt: content, signal_type: sig },
|