Skip to content

feat: [#849] Add table support to the console context#1380

Merged
krishankumar01 merged 9 commits intomasterfrom
kkumar-gcc/#849
Feb 24, 2026
Merged

feat: [#849] Add table support to the console context#1380
krishankumar01 merged 9 commits intomasterfrom
kkumar-gcc/#849

Conversation

@krishankumar01
Copy link
Member

@krishankumar01 krishankumar01 commented Feb 22, 2026

📑 Description

Closes goravel/goravel#849

This PR adds a Table method to render data in a tabular format. The function accepts headers and rows, along with an optional third parameter, console.TableOption, to configure the table style.

Example

func (r *TestCommand) Handle(ctx console.Context) error {
	headers := []string{"LANGUAGE", "FORMAL", "INFORMAL"}
	rows := [][]string{
		{"Chinese", "您好", "你好"},
		{"Japanese", "こんにちは", "やあ"},
		{"Hindi", "नमस्ते", "नमस्ते"},
		{"Russian", "Здравствуйте", "Привет"},
		{"Spanish", "Hola", "¿Qué tal?"},
	}

	ctx.Table(headers, rows)
	return nil
}

TableOption

type TableOption struct {
	// BorderTop enables/disables the very top horizontal line.
	BorderTop *bool
	// BorderBottom enables/disables the very bottom horizontal line.
	BorderBottom *bool
	// BorderLeft enables/disables the leftmost vertical line.
	BorderLeft *bool
	// BorderRight enables/disables the rightmost vertical line.
	BorderRight *bool
	// BorderHeader enables/disables the separator line between the header and the first row.
	BorderHeader *bool
	// BorderColumn enables/disables vertical lines between columns.
	BorderColumn *bool
	// BorderRow enables/disables horizontal lines between every data row.
	BorderRow *bool

	// Border allows setting a custom lipgloss.Border (e.g., lipgloss.DoubleBorder()).
	Border lipgloss.Border
	// BorderStyle sets the color and style for the grid lines.
	BorderStyle lipgloss.Style
	// ColumnStyles allows specific styling for individual columns (key is column index).
	// Useful for right-aligning numbers: map[int]lipgloss.Style{1: lipgloss.NewStyle().Align(lipgloss.Right)}
	ColumnStyles map[int]lipgloss.Style
	// StyleFunc is an escape hatch for advanced cell-by-cell styling based on content or position.
	StyleFunc table.StyleFunc

	// Width sets a fixed total width for the table. Columns will auto-scale to fit.
	Width int
	// Height sets a fixed total height for the table.
	Height int
}

ScreenShot

image

✅ Checks

  • Added test cases for my code

Summary by CodeRabbit

Release Notes

  • New Features

    • Added customizable table rendering for CLI output with support for borders, styling, and sizing options
    • Introduced brand and muted color constants for consistent theming across CLI displays
    • Tables now support configurable border styles, cell formatting, and visual customization
  • Tests

    • Added test suite validating table rendering with default and custom styling configurations

@krishankumar01 krishankumar01 requested a review from a team as a code owner February 22, 2026 13:13
@codecov
Copy link

codecov bot commented Feb 22, 2026

Codecov Report

❌ Patch coverage is 57.95455% with 37 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.79%. Comparing base (0373561) to head (b41fe32).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
console/cli_context.go 49.27% 23 Missing and 12 partials ⚠️
console/progress_bar.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1380      +/-   ##
==========================================
- Coverage   68.80%   68.79%   -0.02%     
==========================================
  Files         286      287       +1     
  Lines       18040    18118      +78     
==========================================
+ Hits        12413    12464      +51     
- Misses       5101     5116      +15     
- Partials      526      538      +12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hwbrzzl
Copy link
Contributor

hwbrzzl commented Feb 22, 2026

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

📝 Walkthrough

Walkthrough

This pull request adds a comprehensive table rendering feature to the console context, introducing a new Table method on CliContext that supports configurable styling, borders, and formatting using the lipgloss/table library, along with corresponding interface contracts and mock implementations.

Changes

Cohort / File(s) Summary
Core Table Implementation
console/cli_context.go
Added public color constants (BrandColor, MutedColor), default table styling options (DefaultTableHeaderColor, DefaultTableBorderColor, DefaultTableHeaderStyle, DefaultTableCellStyle, DefaultTableStyleFunc, DefaultTableOption), and new Table method that renders tables with customizable borders, styles, and dimensions. Updated spinner styling to use BrandColor.
Table Interface Contract
contracts/console/command.go
Extended Context interface with Table method signature and introduced TableOption struct with configuration fields for borders (Top, Bottom, Left, Right, Header, Column, Row), border styling, column styles, style functions, and dimensions.
Test Coverage
console/cli_context_test.go
Added TestTable test suite validating table rendering with default styling, borderless variants, and custom StyleFunc configurations.
Mock Implementation
mocks/console/Context.go
Added mock support for the Table method including Context_Table_Call wrapper struct and Context_Expecter helper with Run, Return, and RunAndReturn methods for test expectations.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant CliContext
    participant TableRenderer as lipgloss/table
    participant Output
    
    Client->>CliContext: Table(headers, rows, options...)
    CliContext->>CliContext: Merge user options with defaults
    CliContext->>TableRenderer: Create table with headers and rows
    CliContext->>TableRenderer: Apply border configuration
    CliContext->>TableRenderer: Apply styling (BorderStyle, StyleFunc)
    CliContext->>TableRenderer: Set dimensions (Width, Height)
    TableRenderer->>TableRenderer: Render formatted table
    CliContext->>Output: Write rendered table via Line()
    Output->>Client: Display formatted table
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A table blooms in CLI's domain,
With borders neat and colors plain,
BrandColor bright and styles so fine,
Our console renders in design!
Rows and headers dance in place,
Terminal tables find their grace! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically identifies the main feature: adding table support to the console context, with reference to issue #849.
Linked Issues check ✅ Passed The PR fully implements the feature requested in issue #849: adds a Table method to cli_context that renders formatted tables with configurable options.
Out of Scope Changes check ✅ Passed All changes directly support the core objective: Table method implementation, contract/interface updates, test coverage, and mock updates—no unrelated modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kkumar-gcc/#849

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
contracts/console/command.go (1)

7-8: Public contract leaks lipgloss types, coupling consumers to a specific rendering library.

TableOption exposes lipgloss.Border, lipgloss.Style, table.StyleFunc, and map[int]lipgloss.Style directly. Since contracts/console/command.go is the public interface that downstream consumers (and mocks) depend on, this forces every consumer to import lipgloss and lipgloss/table, even if they never render a table.

If the rendering library is ever swapped, this becomes a breaking change to the contract. Consider wrapping these types behind framework-owned abstractions or moving the lipgloss-specific types to the implementation layer. That said, this is a design trade-off — the direct exposure does provide maximum flexibility for users wanting to style tables.

Also applies to: 256-286

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contracts/console/command.go` around lines 7 - 8, The public contract
currently leaks lipgloss types via TableOption (exposing lipgloss.Border,
lipgloss.Style, table.StyleFunc and map[int]lipgloss.Style) — remove direct
references to lipgloss/table from contracts/console/command.go by introducing
framework-level abstraction types (e.g., ConsoleBorder, ConsoleStyle,
ConsoleTableStyleFunc or simple interfaces) and use those in the TableOption API
and any other exposed signatures (including the region noted at lines ~256-286);
move the actual lipgloss/table imports and conversions into the implementation
package that builds renderers so consumers and mocks depend only on the new
lightweight abstractions rather than lipgloss types.
console/cli_context.go (1)

23-54: Shared *bool pointers between DefaultTableOption and local copies.

opt := DefaultTableOption (Line 597) performs a shallow struct copy, so the *bool fields (e.g., BorderTop) in both opt and DefaultTableOption point to the same underlying bool. Currently safe because the code only reassigns pointers (never mutates *opt.BorderTop), but a future refactor could accidentally corrupt the global default.

Consider either documenting this invariant or doing a deep copy of the pointer fields when cloning.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@console/cli_context.go` around lines 23 - 54, DefaultTableOption currently
holds several *bool pointer fields (BorderTop, BorderBottom, BorderLeft,
BorderRight, BorderHeader, BorderColumn, BorderRow) created with
convert.Pointer(...) which means shallow copies like opt := DefaultTableOption
will share underlying bools; add a proper deep-clone so callers don't
accidentally share mutable pointers: implement a CloneTableOption (or a Clone
method on console.TableOption) that copies the struct and allocates new bools
for each pointer field (copying their values) and update callers that do opt :=
DefaultTableOption to call the clone helper (e.g., opt :=
DefaultTableOption.Clone()) so each copy has independent *bool instances.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@console/cli_context.go`:
- Around line 594-675: The Table method in CliContext ignores
TableOption.ColumnStyles so per-column styles are never applied; update the
option-merging block in CliContext.Table to copy userOpt.ColumnStyles into
opt.ColumnStyles, and then replace or wrap the final StyleFunc (opt.StyleFunc /
DefaultTableStyleFunc) with a wrapper that consults opt.ColumnStyles for the
current column and falls back to the base StyleFunc (i.e., create a new
StyleFunc that takes (col, row, cell) -> if opt.ColumnStyles[col] != nil use
that style(cell) else call base StyleFunc), and set t.StyleFunc to this wrapped
function before calling r.Line(t.Render()). Ensure you reference
TableOption.ColumnStyles, CliContext.Table, opt.StyleFunc,
DefaultTableStyleFunc, and t.StyleFunc when making the change.

---

Nitpick comments:
In `@console/cli_context.go`:
- Around line 23-54: DefaultTableOption currently holds several *bool pointer
fields (BorderTop, BorderBottom, BorderLeft, BorderRight, BorderHeader,
BorderColumn, BorderRow) created with convert.Pointer(...) which means shallow
copies like opt := DefaultTableOption will share underlying bools; add a proper
deep-clone so callers don't accidentally share mutable pointers: implement a
CloneTableOption (or a Clone method on console.TableOption) that copies the
struct and allocates new bools for each pointer field (copying their values) and
update callers that do opt := DefaultTableOption to call the clone helper (e.g.,
opt := DefaultTableOption.Clone()) so each copy has independent *bool instances.

In `@contracts/console/command.go`:
- Around line 7-8: The public contract currently leaks lipgloss types via
TableOption (exposing lipgloss.Border, lipgloss.Style, table.StyleFunc and
map[int]lipgloss.Style) — remove direct references to lipgloss/table from
contracts/console/command.go by introducing framework-level abstraction types
(e.g., ConsoleBorder, ConsoleStyle, ConsoleTableStyleFunc or simple interfaces)
and use those in the TableOption API and any other exposed signatures (including
the region noted at lines ~256-286); move the actual lipgloss/table imports and
conversions into the implementation package that builds renderers so consumers
and mocks depend only on the new lightweight abstractions rather than lipgloss
types.

hwbrzzl
hwbrzzl previously approved these changes Feb 23, 2026
Copy link
Contributor

@hwbrzzl hwbrzzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty good 👍

Comment on lines 23 to 55
var (
BrandColor = lipgloss.CompleteColor{TrueColor: "#3D8C8D", ANSI256: "30", ANSI: "6"}
MutedColor = lipgloss.CompleteColor{TrueColor: "#4a4a4a", ANSI256: "240", ANSI: "8"}

DefaultTableHeaderColor = BrandColor
DefaultTableBorderColor = MutedColor

DefaultTableHeaderStyle = lipgloss.NewStyle().Foreground(DefaultTableHeaderColor).Bold(true).Padding(0, 1)
DefaultTableCellStyle = lipgloss.NewStyle().Padding(0, 1)

DefaultTableStyleFunc = func(row, col int) lipgloss.Style {
if row == table.HeaderRow {
return DefaultTableHeaderStyle
}
return DefaultTableCellStyle
}

DefaultTableOption = console.TableOption{
Border: lipgloss.RoundedBorder(),

BorderStyle: lipgloss.NewStyle().Foreground(DefaultTableBorderColor),

StyleFunc: DefaultTableStyleFunc,

BorderTop: convert.Pointer(true),
BorderBottom: convert.Pointer(true),
BorderLeft: convert.Pointer(true),
BorderRight: convert.Pointer(true),
BorderHeader: convert.Pointer(true),
BorderColumn: convert.Pointer(true),
BorderRow: convert.Pointer(false),
}
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it better to move these code to an independent file?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure

}

err := input.Value(&answer).Run()
err := input.Value(&answer).WithTheme(GlobalHuhTheme).Run()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a screenshot for the theme?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image image image image

Copy link
Contributor

@hwbrzzl hwbrzzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great 👍

@krishankumar01 krishankumar01 merged commit f028efa into master Feb 24, 2026
16 of 18 checks passed
@krishankumar01 krishankumar01 deleted the kkumar-gcc/#849 branch February 24, 2026 09:40
hwbrzzl added a commit that referenced this pull request Mar 11, 2026
* chore: Update upgrade DB packages (#1374)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Internalize file rotation logic from goravel/file-rotatelogs (#1375)

* Initial plan

* Implement internal file rotation to replace goravel/file-rotatelogs

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Improve cleanup logic with glob pattern matching and add comprehensive tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Address code review feedback: fix trailing whitespace, add cleanup wait, and make tests deterministic

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: Update non-major dependencies (#1373)

* chore: Update non-major dependencies

* optimize

* optimize

* renovate/non-major-dependencies

* optimize

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* feat: [#726] Add HTTP server and client telemetry instrumentation [5] (#1326)

* add http middleware

* add http transport

* optimise http telemetry package

* add test cases for Telemetry middleware

* add auto instrumentation configs

* add config to enable Telemetry for http clients

* add docs for config facade

* add ConfigFacade nil warning

* disable default telemetry

* optimise transport

* add kill switch for instrumentation

* update the stubs

* remove unnecessary handler

* optimise log instrumentation

* move route registration in the end

* lazily initialize middleware and transport to work with new application_builder

* optimise channel test

* optimise channel test

* accept telemetry facade as an input instead of using global instance

* use a callback to resolve the telemetry facade instance

* optimise grpc handler to remove usage of telemetry and config facade

* optimise the grpc handler

* use telemetry transport if enabled

* optimise http auto instrumentation

* optimize log test cases

* optimise

* optimise

* optimise

* optimise

* revert PR#1357

* fix log test cases

* revert GRPC changes

* optimise middleware

* remove zipkin trace driver

* correct GRPC enable condition

* correct http transport enable condition

* correct log channel enable condition

* update go mod

* fix test cases

* fix test cases

* fix test cases

* fix tests

---------

Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: optimize runner tests for Windows (#1377)

Co-authored-by: Bowen <hwbrzzl@github.com>

* chore: Update non-major dependencies (#1378)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: runner stuck (#1381)

* fix: runner stuck

* optimize

* optimize

* optimize

* optimize

* optimize

* chore: Update non-major dependencies (#1382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: [#849] Add table support to the console context (#1380)

* add table function in cli

* add test cases for new method Table

* update mocks

* add column level styles

* fix lint error

* move style vars to new file

* add GlobalHuhTheme

* update go mod tidy

* feat: [#546] artisan command up and down to set website Maintenance mode (#1198)

* Add up and down command

* Use file helper to create files and add unit tests

* Fix the foundation.App dependency

* Use support/path instead of foundation.App

* Add unit test case

* Add some missing checks

* Add more missing checks

* One more

* Fix tmpfile path

* Use T.TempDir instead of os.TempDir in tests

* Add reason to the down command

* Add option to the tests

* Change the maintenance file name

* close created file handles

* Defer abort

* Fix the linter issue

* Add more options to the down command

* Use options

* Check for maintenance mode respond

* Fix down_command_test

* Add more unit test cases

* Fix more lint issues

* Fix lint issue

* fix tests

* fix tests

* fix tests

* fix tests

* Address PR comments

* Fix check_for_maintenance_test

* Check Aborts in check_for_maintenance

* Rename check_for_maintenance_mode

* Fix and Write more unit tests for check_for_maintenance_mode middleware

* fix down command

* Fix down_command_test

* Fix up_command

---------

Co-authored-by: Bowen <hwbrzzl@gmail.com>

* feat: Laravel-style Collection library (#1134)

Merges comprehensive Collection library with 100+ methods for data manipulation.

Implements both eager (Collection) and lazy (LazyCollection) evaluation strategies.
Closes goravel/goravel#566

Follow-up improvements tracked in: goravel/goravel#883

* Increase route module coverage for factory, provider, and runner wiring paths (#1384)

* Initial plan

* test(route): cover route factory and service provider paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

* optimize

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: optimize interface (#1389)

* Increase crypt module coverage by exercising AES key validation and failure paths (#1385)

* Initial plan

* test: add crypt AES edge-case coverage

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: improve readability of crypt key-length cases

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: address crypt PR feedback and simplify test structure

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use configmock EXPECT style in TestNewAES

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: standardize config mock setup across aes tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase filesystem module test coverage for storage, service provider, and file facade paths (#1387)

* Initial plan

* Add filesystem application and provider coverage tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Polish filesystem coverage tests after review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Refine filesystem tests based on review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Apply review style suggestions in filesystem tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase mail module test coverage to 70%+ with focused unit tests (#1386)

* Initial plan

* test(mail): add focused unit coverage for application, options, and service provider

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): address review feedback on test specificity and readability

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): merge application unit tests and remove untyped mock matchers

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): deduplicate matchers and tighten queue job assertion

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): use AnythingOfType and any in application tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): derive bind callback type string from any signature

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): simplify bind callback type matcher

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): use AnythingOfType for template render expectations

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): restore specific MatchedBy assertions per review clarification

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase hash module coverage with targeted tests for driver selection and service provider paths (#1388)

* Initial plan

* test: increase hash module coverage for driver and provider paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: cover hash provider and driver selection paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: address hash module review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: merge hash module tests into application_test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use EXPECT API in hash service provider test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use any alias in hash singleton callback test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: add AI instructions file (#1393)

* Increase core framework coverage via targeted service provider and builder-path tests (#1391)

* Initial plan

* Add service provider coverage tests for core modules

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Expand core module coverage tests and validate suite

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Revert unintended test module dependency drift

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Address actionable PR review suggestions in coverage tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Finalize review feedback handling

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Tighten provider test matchers per review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding (#1392)

* Initial plan

* test(errors): cover As/Unwrap/Ignore/Join edge cases

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(errors): use wrapped error in As coverage test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file changes

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: add coverage for process packages log schedule modules

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: refine schedule coverage tests per review

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: assert boot no-panic in log and process providers

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize review feedback responses for boot test assertions

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file changes

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console (#1390)

* Initial plan

* test(event): cover service provider and queued listener dispatch paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize event coverage validation

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(event): address review suggestions for robust command matching and queue error path

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize PR feedback follow-up

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: add focused coverage cases for queue grpc cache console

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: clarify queue nil args in empty chain test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: avoid nil context in console usage-error test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize lint ci fix validation

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency drift

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: Update non-major dependencies (#1399)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: add generate flag to artisan build command (#1402)

* feat: [#911] add query context accessor (#1401)

* chore: optimize agents (#1396)

* chore: optimize agents

* optimize

* address comments

* Initial plan

* fix: backport migrate rollback default handling to v1.17.x

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: align branch tree with v1.17.x before backporting rollback fix

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

* optimize

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: krishan kumar <84431594+krishankumar01@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@github.com>
Co-authored-by: Mohan Raj <praem1990@gmail.com>
Co-authored-by: Ahmed M. Ammar <ahmed3mar@outlook.com>
Co-authored-by: 耗子 <haozi@loli.email>
Co-authored-by: ALMAS <almas.cc@icloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add table support to the console context

2 participants