feat(schema): wire proto-generated types into packageLogs.ts
- Dominant language
- Jupyter Notebook
- Stars
- 30
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Replace the untyped `Logging.Log = JSONObject` with proto-generated types (`RawLog`, `IntervalLog`, `CustomLog`) from `log_pb.ts` in `packageLogs.ts`.
## Breaking Changes
This changes the default JSON output format:
- Fields restructured to match proto schema (nested `metadata` object)
- Field renames: `type` → `eventType`, `scrnRes` → `screenResolution`
- `buildAttrs()` stops `JSON.parse()`-ing attribute values (always strings)
- `logType` values may change (`raw` → `LOG_TYPE_RAW`)
## Migration Path
- `HttpLegacyJsonExporter` preserves v2.x JSON format
- Users can opt into legacy format via `exporterType: 'http-json-legacy'`
## Depends On
- #105 (proto schema — merged)
- #139 (LogExporter interface)
## Related
- Resolves the TODO on line 77 of types.d.ts: `// TODO: Switch to protobuf for managing log types`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading packageLogs.ts, the generated types in log_pb.ts, and the TODO in types.d.ts. Trace how current log objects and buildAttrs() are assembled, then verify that the new output follows the proto field names and nested metadata shape while HttpLegacyJsonExporter still preserves the v2.x format.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100